【问题标题】:show content div runat='server'显示内容 div runat='server'
【发布时间】:2011-07-09 13:37:01
【问题描述】:

html

<div id="ltrProducts"  runat="server"></div>
<div id="a"  runat=server style="display:none">abcd</div>

代码

string contantProduct = "<div style='cursor:pointer;border:1px solid red' onclick=\"$(\'#a\').css('display','inline');\">does not see water else swimer good</div>";
ltrProducts.InnerHtml = contantProduct;

此代码不显示div.a,但如果删除runat='server',则显示div.a

【问题讨论】:

  • 你有没有在“服务器”周围加上引号的原因?
  • 不应该是“innerHTML”,而不是“InnerHtml”吗?

标签: javascript jquery asp.net


【解决方案1】:

当您在任何标记中使用 runat="server" 时,ASP.NET 将劫持您设置的任何 id 并将其更改为类似 ct100_blah_blah_a 的内容。在浏览器中查看源代码,查看输出的实际 HTML。然后获取“a”元素的真实 id,并在 javascript 中使用它。

【讨论】:

  • 你测试过你声称的吗?
  • 我不擅长 .net 的东西,但我认为每 postback??不应该像&lt;div id="a" name="contentDiv"&gt; 那样完成并像$('#'+&lt;%=contentDiv.ClientId%&gt;) 这样通过JS/jquery 访问它...
  • +1 引用 ClientId 是个好主意。我认为理论上,它可以改变,但老实说,我从来没有遇到过问题。我相信如果 .net 的某些更新会改变命名方案,这更令人担忧,但我多年来一直在我的 javascript 中使用 #ct100_... 。伊布:在这里查看答案:stackoverflow.com/questions/897738/…
猜你喜欢
  • 2013-12-19
  • 1970-01-01
  • 1970-01-01
  • 2012-05-16
  • 1970-01-01
  • 1970-01-01
  • 2012-05-11
  • 2015-03-18
  • 1970-01-01
相关资源
最近更新 更多