怎样用JS为服务器控件赋值

怎样用JS为服务器控件赋值,第1张

//1、JS脚本为服务器控件赋值

语法: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)即可获得该服务器控件。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/274262.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-19
下一篇2023-04-19

发表评论

登录后才能评论

评论列表(0条)

    保存