加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

.net – 设置runat = server时输入名称和ID更改

发布时间:2020-12-16 00:21:13 所属栏目:asp.Net 来源:网络整理
导读:在我的表单中,我需要插入“text”类型的不同输入。输入必须是带有名称和ID的html控件。因为我将此表单发送到外部URL。 为了验证,我在所有输入中运行runat = server,然后我可以使用requiredfieldvalidator。 但问题是,当我在浏览页面后查看源名称和ID都已
在我的表单中,我需要插入“text”类型的不同输入。输入必须是带有名称和ID的html控件。因为我将此表单发送到外部URL。

为了验证,我在所有输入中运行runat = server,然后我可以使用requiredfieldvalidator。

但问题是,当我在浏览页面后查看源名称和ID都已更改。
例如

<input id="first_name" class="formright" type="text" name="first_name" runat="server" />

改变为

<input name="ctl00$cphContent$first_name" type="text" id="ctl00_cphContent_first_name" class="formright">

我必须使用html控件,因为外部postbackurl查看name和id值以查找控件。所以我不能使用asp控件。因为我使用了runat = server的html控件

我感谢任何帮助

解决方法

这是因为您正在使用MasterPages。

内容页面中包含的控件采用基于母版页层次结构的动态ID,以避免重复ID。

如果需要在客户端脚本中引用控件ID和名称,则可以使用<%= first_name.ClientID%>。

如果您使用的是.NET4,则可以使用ClientIDMode="Static"使生成的ID保持一致,但这会带来自己的ID冲突警告,例如,在页面上使用同一用户控件的多个实例时。 Rick Strahl概述了那些here。

但是,如果您使用的是ASP.NET验证器,那么一切都应该没问题。您应该使用ASP.NET TextBox control而不是使用HTML输入:

<asp:TextBox id="first_name" runat="server" CssClass="formright" />

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读