一般js中可以通过document.getElementById("id")的方法来获取控件的控制,但如果某控件的属性里runat=“server”时就无法通过该方法获得了,而我们又需要控件“跑在客户端”以便后台代码进行控制。此时只需如此:
以点击Button触发Textbox和Dropdownlist联动为例
后台代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Btn.Attributes.Add("OnClick", "return _select("+this.DDL.UniqueID+","+this.TxtBox.UniqueID+");");
}
}
前台代码:
function _select(ddl,txt)
{
var objddl = ddl;
var objTxt = txt;
objTxt.value = objTxt.value + objddl.options[objddl.selectedIndex].text;
return false;
}
但后台再取txtbox的text时可能取不到更新后的值,这时不能直接取TxtBox.Text。而是:
Request.Form[TxtBox.UniqueID]