是否可以在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;}
请注意,当代码为:(没有任何代码隐藏)时,webform是可见的
<script type="text/javascript">
$(document).ready(function () { $('#webform').load('popup.html'); })
</script>
<div id="webform" >
</div>
</asp:Content>
目标是使其可见或不依赖于是否已设置cookie。 我已经测试过表单(用HTML格式)设置cookie(用javascript通过webform)
答案 0 :(得分:1)
这是你尝试的逻辑
通过添加runat="server"
属性
还有DIV标记的ID
属性
根据Cookie值设置此DIV在您的代码背后的可见性
E.g。
标记代码
<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
我在UPDATE 1中犯了一个错误。您应该像'#<%= MyDiv.ClientID %>'
一样编写JQuery选择器,而不是'#'<%= MyDiv.ClientID %>
(注意&#39;标记)。
而且,你的脚本也犯了一个错误。您在脚本末尾错过了})。
无论如何,这是工作解决方案。 (我尝试过,所以不要告诉它不工作: - ))
<script type="text/javascript">
$(document).ready(function () { $('#<%= webform.ClientID %>').load('popup.html');} )
</script>
<div id="webform" runat="Server"></div>
希望你能理解这一点。