div从asp.net中的代码后面添加重定向和背景图片

问题描述

| 我在asp.net主页上有一个have0,ѭ1。 我想从用户单击“ 0”重定向到另一页时从代码隐藏中进行操作。我尝试了以下方法: HTML:
<div id=\"logoHead\" runat=\"server\"></div>
后面的代码
logoHead.Attributes.Add(\"OnClick\",\"window.location = MyUrl\"); 
这行不通,我该怎么办?     

解决方法

您正在做的事情就可以了。您遇到的问题是\'Attributes.Add \'导致JavaScript进行HTML编码。这是因为您没有使用ASP.NET特定的控件。您的ѭ5呈现为:
onclick=\"window.location=&#39;MyUrl&#39;\"
为了解决这个问题,我将要添加的所有javascript以这种方式放置在NON ASP.NET控件中,该函数消除了将由HTML编码的任何有趣字符。例: Javascript:
function redirect(address) {
    window.location = \'http://\' + address;
}
ASPX:
<div id=\"divTesting\" runat=\"server\">
    Testing
</div>
后面的代码:
divTesting.Attributes.Add(\"onclick\",\"redirect(\'www.microsoft.com\');\");
这只是HTML控件的问题,您要添加
runat=\'server\'
标记以访问服务器端。如果将
div
切换为
asp:Panel
,则
Attribute.Add
上没有HTML编码,您可以将任何所需的内容放入其中,而无需使用代理javascript函数。这是一种令人讨厌的“功能”,但我怀疑它是有意的。