是否可以在 ASP.NET 中显示/不显示 div,具体取决于是否设置了 cookie? 注意:div 是在 asp.net 中使用 javascript 调用的 html 表单。
这是asp.net中的代码
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" runat="Server">
<script type="text/javascript">
$(document).ready(function () { $('#'<%= webform.ClientID %>).load('popup.html');
</script><div id="webform" runat="Server">
</div>
</asp:Content>
并在后面的代码中:
protected void Page_Load(object sender, EventArgs e)
{ webform.Visible= true;}
请注意,当代码为以下时,网络表单可见:(没有任何代码隐藏)
<script type="text/javascript">
$(document).ready(function () { $('#webform').load('popup.html'); })
</script>
<div id="webform" >
</div>
</asp:Content>
目标是使其可见或不可见,具体取决于 cookie 是否已设置。 我已经测试过表单(HTML)正在设置cookie(通过webform使用javascript)
最佳答案
这是您可以尝试的逻辑
通过添加
runat="server"
使您的 DIV 成为服务器控件属性(property)还有一个
ID
DIV 标记的属性根据 Cookie 值在后台代码中设置此 DIV 的可见性
例如
标记代码
<div id="MyDiv" runat="server"></div>
隐藏代码
MyDiv.Visible = true; // set this based on the cookie value
更新1
这就是您在脚本中使用 DIV 的方式
<script type="text/javascript">
$(document).ready(function () { $('#'<%= MyDiv.ClientID %>).load('popup.html'); })
</script>
更新2
我在更新 1 中犯了一个错误。您应该编写 JQuery 选择器,如 '#<%= MyDiv.ClientID %>'
不像 '#'<%= MyDiv.ClientID %>
(注意 ' 标记)。
而且,你的脚本也犯了一个错误。您错过了脚本末尾的 })。
无论如何,这是可行的解决方案。 (我尝试过,所以不要说它不起作用:-))
<script type="text/javascript">
$(document).ready(function () { $('#<%= webform.ClientID %>').load('popup.html');} )
</script>
<div id="webform" runat="Server"></div>
希望你能理解这一点。
关于asp.net - 根据条件在 asp.net 中显示 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26032196/