ClientIDMode如何在Html中隐藏ID在浏览器中生成的源代码

时间:2011-08-11 13:23:55

标签: c# asp.net

我使用.net 4和c#。

我有一个带有HyperLink的asp.net页面。

<asp:HyperLink ID="uxLink" ClientIDMode ="Static" runat="server"></asp:HyperLink>

在我的代码中,我使用HyperLink ID="uxLink"来更改某些属性。

在我的浏览器中,代码生成为:

<a id="uxLink" href="/blog/5/test.aspx">Test link</a>

我需要省略浏览器中生成的源代码中的id,所以它应该看起来:

<a href="/blog/5/test.aspx">Test link</a>

我尝试使用ClientIdMode,但没有成功......任何想法怎么做?感谢

2 个答案:

答案 0 :(得分:1)

如果删除ClientIDMode ="Static",框架将为元素生成“唯一的”ID,但仍然会有ID。

如果要处理客户端脚本中的元素,那么拥有ID是基础。不应删除ID。

如果您不想要它们,只是不要使用ASP.NET组件,请使用<a>标记本身。

<强>更新

顺便说一句,据说有一种方法可以在ASP.NET 4中执行您想要的操作。这里有描述:http://www.codeproject.com/Tips/208323/Disable-ClientID-for-any-control-on-ASP-NET-Page?display=Print

我还没试过,我只是指着你指明方向。但是,您应该知道没有ClientID的含义。特别适用于Postback控件。阅读文章。

答案 1 :(得分:1)

最简单的解决方案是在将页面呈现为NULL之前更改代码中控件的ID适当性。

在我的例子中

myLink.ID = null;

这将在浏览器中不生成ID,导致:

<a href="/blog/5/test.aspx">Test link</a>

我在这个网站上找到了这个有用的技巧: http://www.dotnetperls.com/remove-id