一般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+");");
}
}
{
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;
}
{
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]
本文介绍如何在JavaScript与ASP.NET服务器控件之间建立联动效果,并提供了具体的前后端代码实现示例。针对按钮点击触发文本框和下拉列表联动的情况,文章详细解释了如何设置属性并在后台获取更新后的文本框值。

被折叠的 条评论
为什么被折叠?



