1、JS脚本为服务器控件赋值
语法:documentgetElementById('<%=服务器控件名ClientID%>')
documentgetElementById('<%=TextBox2ClientID%>‘)value= “aaaaa” ;
<anthem:TextBox ID= "TextBox2" runat= "server" Text= "bbbbb" >< /anthem:TextBox> //这个是anthem的控件,跟aspNet ajax框架的控件一样
//2、JS脚本为服务器中用户控件中的控件赋值
语法:documentgetElementById("<%=服务器控件名ClientID%>"+"_用户控件中控件名")
documentgetElementById( "<%=UserInfoControl1ClientID%>"+"_txtBAname" )value= “aaaaa” ;
页面使用的用户控件: <uc1:UserInfoControl ID= "UserInfoControl1" runat= "server" />
用户控件代码:
<anthem:TextBox ID="txtBAname" runat="server" Width="64px" CssClass="lankuang" ></anthem:TextBox>
2js为服务器控件Lable赋值的话,语法为:
documentgetElementById("<%=CaseControl1ClientID%>"+ "_lblZhusu" )innerHTML= "aaaaaaa" ;
但是由于label映射到客户端是Div标签,所以后台取的还是原来的值。Aspnet服务器控件,也叫Web服务器控件和Html服务器端控件的区别:
1、 Aspnet服务器控件提供更加统一的编程接口,如每个Aspnet服务器控件都有Text属性。
2、 隐藏客户端的不同,这样程序员可以把更多的精力放在业务上,而不用去考虑客户端的浏览器是ie还是firefox,或者是移动设备。
3、 Aspnet服务器控件可以保存状态到ViewState里,这样页面在从客户端回传到服务器端或者从服务器端下载到客户端的过程中都可以保存。
4、 事件处理模型不同,Html标注和Html控件的事件处理都是在客户端的页面上,而Aspnet服务器控件则是在服务器上,举例来说:
<input id="Button4" type="button" value="button" runat="server"/>是Html控件,此时我们点击此按钮,页面不会回传到服务器端,原因是我们没有为其定义鼠标点击事件。<input id="Button4" type="button" value="button" runat="server" onserverclick="test" />我们为Html控件添加了一个onserverclick事件,点击此按钮页面会发回服务器端,并执行test(object sender, EventArgs e)方法。
<asp:Button ID="Button2" runat="server" Text="Button" />是Aspnet服务器控件,并且我们没有为其定义click,但是我们点击时,页面也会发回到服务器端。
由此可见:Html标注和Html控件的事件是由页面来触发的,而Aspnet服务器控件则是由页面把Form发回到服务器端,由服务器来处理。当一个第三方控件比如IEWebControl被拖放到Web页面上时,Web页面中会增加以下代码:<%@RegisterTagPrefix=iewcNamespace=MicrosoftWebUIWebControlsAssembly=MicrosoftWebUIWebControls%<iewc:treeviewid=TreeView1runat=server</iewc:treeview上面的HTML中的asp、iewc是服务器控件的TagPrefix,在Register TagPrefix时指定的Namespace属性是指服务器控件类所属的命名控件,Assembly属性指定的是服务器控件类所属的Dll。在开发服务器控件的时候,如果不设置TagPrefix,默认是CC(好像是这个,CustomControl的简写)。设置TagPrefix的方法是:在服务器控件类对应的cs文件中,增加下面的标签说明:[assembly:TagPrefix(
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)