教程:Asp.net下怎样实现无刷新控件联动
关于Asp.net下的控件联动,就自己的一些心得作个总结
希望别人不要走我的这些弯路
当我初次碰到这个问题的时候,在查遍了资料的情况甚至绝望的认为Anders Hejlsberg忘了在asp.net里设计这个功能。
主要障碍如下:
联动要用JScript实现,但是服务器控件无法受JScript控制。
如果用普通表单实现,服务器控件与Html表单在同一个页面,又无法用一个按钮做出提交动作。
解决问题的关键是:服务器控件的Attributes属性,这个属性是服务器控件在客户端呈现时所具有属性和事件的集合。也就是说当你在代码文件里(C#是aspx.cs)执行了如下语句时:
private void Page_Load(object sender, System.EventArgs e)
{
DList.Attributes.Add("onchange","aFunction");
}
则ListBox控件运行时有个改变以后,便会执行你在aspx页面里用脚本语言(VBScript,JScript)定义的aFunction函数。
然后你可以在aFunction函数里执行一些你想要的动作
主要是通过
var lb = document.getElementById("ListBox");
这种形式先从函数里获取服务器控件在Html里面的标识
然后通过获得的标示来进行操作。