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

前端之家收集整理的这篇文章主要介绍了.net – 设置runat = server时输入名称和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" />
原文链接:https://www.f2er.com/aspnet/252058.html

猜你在找的asp.Net相关文章