心烦了,不同的.NET配置DataList中的绑定控件生成的HTML控件ID还不同啊!!!

ynduanlian 2012-09-15 04:16:27
用下面的DataList绑定一个TextBox
<asp:DataList RepeatColumns="5" ID="DLChinese" Visible="false" runat="server" CellPadding="0" CellSpacing="40" ItemStyle-HorizontalAlign="left">
<ItemTemplate>
<asp:TextBox runat="server" ID="txtInput" /></span>
</ItemTemplate>
<ItemStyle HorizontalAlign="Left" />
</asp:DataList>

页面执行后:
在空间服务器上是这样的HTML代码
<input name="DLChinese$ctl00$txtInput" type="text" id="DLChinese_txtInput_0" />
在我的本机上是这样的HTML代码
<input name="DLChinese$ctl05$txtInput" type="text" id="DLChinese_ctl05_txtInput" />

FUCK,ID变了!!!!!
那不是客户端用到javascript getElementById函数的代码全部都出错了,怎么会这样?!!
...全文
137 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ynduanlian 2012-09-21
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
document.getElementById('<%=TextBox1.ClientID %>'> 获取
[/Quote]
我这个TextBox1是在一个DataList中的<ItemTemplate>中的,每行纪录都有一个,要怎么获取?
xuguorong 2012-09-16
  • 打赏
  • 举报
回复
document.getElementById('<%=TextBox1.ClientID %>'> 获取
Banianer 2012-09-15
  • 打赏
  • 举报
回复
可以在后台获取 input的值,要么 document.getElementById('<%=TextBox1.ClientID %>'> 获取
孟子E章 2012-09-15
  • 打赏
  • 举报
回复
DataList 会显示很多行,每行都有input ,你直接getElementById,你觉得应该得到哪一个呢?

传id,使用txtInput.ClientID从后台传
yyl8781697 2012-09-15
  • 打赏
  • 举报
回复
建议LZ还是用jquery来操作你的asp.net控件
jQuery.clientID('txtInput'); 这个用来直接根据ID来获取控件
当然LZ也可以用
$(".txtInput") 该txtinput是你的控件的class名称

还有LZ要记住,ID在web页面上都是唯一的,像datalist控件循环输出来的ID当然要不同了,为了保证了能获取这种 还是推荐使用class来获取
胶水代码 2012-09-15
  • 打赏
  • 举报
回复
是不用了。 模板页的喃。

你可以用jquery。 获取ID 三。

很方便的。

EG: $("*txtInput")

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧