VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 705|回复: 4

如何在javascript中使用asp.net生成的控件ID

[复制链接]

3

主题

10

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
发表于 2020-1-22 23:00:01 | 显示全部楼层 |阅读模式
小弟看到一个下拉列表框联动的例子。在实现的时候遇到问题:
原来的例子,是在.aspx直接使用控件,代码如下:
<SELECT id="province" runat="server" NAME="province"></SELECT>
生成的HTML如下:
<select name="province" id="province"></select>

我实现的时候,使用了web用户控件(.ascx),控件中的代码跟上面的相同,
生成的HTML:
<select name="CtrlUserCenter1:_ctl0:province" id="CtrlUserCenter1__ctl0_province"></select>

例子的javascript需要用到控件的ID,其中的一段代码如下:
for(i=0;i<s.length-1;i++)
  document.getElementById(s[i]).onchange=new Function("change("+(i+1)+")");

但是现在生成的ID却差别太多。
怎么办?

从.net方面下手的话怎么办?
从javascript方面下手的话怎么办?

回复

使用道具 举报

0

主题

322

帖子

115.00

积分

新手上路

Rank: 1

积分
115.00
发表于 2020-2-5 11:15:01 | 显示全部楼层
var id = "<%=this.province.ClientID%>";
回复

使用道具 举报

0

主题

73

帖子

27.00

积分

新手上路

Rank: 1

积分
27.00
发表于 2020-2-5 18:45:01 | 显示全部楼层
shenmue024的办法不错,呵呵
在用户控件中,
<select name="CtrlUserCenter1:_ctl0:province" id="CtrlUserCenter1__ctl0_province"></select>
<script language=javascript>
var provinceId = "<%=this.province.ClientID%>";
</script>

但是ASPX中这个控件要写在用到控件的ID的代码之前。

回复

使用道具 举报

0

主题

10

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-2-8 18:45:01 | 显示全部楼层
cs文件写province.ClientID可以获得该控件客户端id
js中写obj=document.getElementById('<%=province.ClientID %>');
回复

使用道具 举报

0

主题

7

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-2-8 22:30:01 | 显示全部楼层
同解 shenmue024的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表