语法:document.getElementById('<%=服务器控件名.ClientID%>')
document.getElementById('<%=TextBox2.ClientID%>‘).value= “aaaaa”
<anthem:TextBox ID= "TextBox2" runat= "server" Text= "bbbbb" ></anthem:TextBox>//这个是anthem的控件,跟asp.Net ajax框架的控件一样.
//2、JS脚本为服务器中用户控件中的控件赋值
语法:document.getElementById("<%=服务器控件名.ClientID%>"+"_用户控件中控件名")
document.getElementById( "<%=UserInfoControl1.ClientID%>"+"_txtBAname").value= “aaaaa”
页面使用的用户控件: <uc1:UserInfoControl ID= "UserInfoControl1" runat= "server" />
用户控件代码:
<anthem:TextBox ID="txtBAname" runat="server" Width="64px" CssClass="lankuang" ></anthem:TextBox>
如果js为服务器控件Lable赋值的话,语法为:
document.getElementById("<%=CaseControl1.ClientID%>"+ "_lblZhusu").innerHTML= "aaaaaaa"
但是由于label映射到客户端是Div标签,所以后台取的还是原来的值
DropDownList加上OnSelectedIndexChanged方法,并加上AutoPostBack="true"后,会生成相应的js脚本,如:<asp:DropDownList ID="dropdownlist1" runat="server" AutoPostBack="true"
onselectedindexchanged="dropdownlist1_SelectedIndexChanged">
得到的html代码是:
<select name="dropdownlist1" onchange="javascript:setTimeout('__doPostBack(\'dropdownlist1\',\'\')', 0)" id="dropdownlist1">
那么在你的其它代码里,只要调用相应的js代码就可以了,比如
<script type='text/javascript'>
function myevent(){
setTimeout('__doPostBack(\'dropdownlist1\',\'\')', 0)
}
</script>
好问题,看来无人回答。原理是在服务器端把服务器控件的客户端id以js的形式输出即可。比如你有个服务器端控件的id是test1,那你就在aspx中写
<script>
var myControllerId = <%=test1.ClientId%>
</script>
然后在其他js中用document.getElementById(myControllerId)即可获得该服务器控件。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)