Hig*_*ead 24 c# asp.net user-controls
如何让服务器控件HTMLAnchor具有href ="#".它不断解析控制路径的"#".
<a href="#" runat="server" />
resolves to: <a href="../ControlPath/#">
Run Code Online (Sandbox Code Playgroud)
我似乎无法得到谷歌搜索给我我想要的结果所以我想我会在这里问.
编辑:语法.
删除runat服务器不是一个选项.它在后端被操纵,这只是一个简化.
小智 29
我有同样的问题,这是我如何解决它:
原始代码
用户控制:
<a id="foo" runat="server">...</a>
Run Code Online (Sandbox Code Playgroud)
代码背后:
foo.Attributes.Add("href", "#");
Run Code Online (Sandbox Code Playgroud)
输出:
<a id="..." href="../Shared/Controls/#">...</a>
Run Code Online (Sandbox Code Playgroud)
更新的代码
用户控制:
<asp:HyperLink id="foo" runat="server">...</asp:HyperLink>
Run Code Online (Sandbox Code Playgroud)
代码背后:
foo.Attributes.Add("href", "#");
Run Code Online (Sandbox Code Playgroud)
输出:
<a id="..." href="#">...</a>
Run Code Online (Sandbox Code Playgroud)
使用PageParser.GetCompiledPageInstance()或重写url时,我遇到了类似的问题.出于某种原因,HtmlAnchor总是错误地解决(类似于上面的内容).
结束只使用HtmlGenericControl,因为无论如何你都在操作服务器端,这可能是你的可能.
HtmlGenericControl anchor = new HtmlGenericControl("a");
anchor.Attributes.Add("href", "#");
Run Code Online (Sandbox Code Playgroud)