Asp.net 占位符代码在“时仍然可见”;“查看源代码”;,即使占位符可见属性从代码隐藏设置为false
所以,在提交表单后,当“pnlThanks”占位符可见时,我可以看到页面上显示的正确内容。但当我在浏览器上“查看源代码”时,我看到的是表单的源代码,而不是“pnlThanks”占位符中的内容Asp.net 占位符代码在“时仍然可见”;“查看源代码”;,即使占位符可见属性从代码隐藏设置为false,asp.net,vb.net,asp.net-placeholder,Asp.net,Vb.net,Asp.net Placeholder,所以,在提交表单后,当“pnlThanks”占位符可见时,我可以看到页面上显示的正确内容。但当我在浏览器上“查看源代码”时,我看到的是表单的源代码,而不是“pnlThanks”占位符中的内容 我做错了什么?您需要将所有控件都放在标记中,因为ASP.NET依赖表单进行回发等操作 页面中只能有一个标记 将代码更改为: Protected Sub submit_Click(ByVal sender As Object, ByVal e As EventArgs) Handles cmdsubmit
我做错了什么?您需要将所有控件都放在
标记中,因为ASP.NET依赖表单进行回发等操作
页面中只能有一个
标记
将代码更改为:
Protected Sub submit_Click(ByVal sender As Object, ByVal e As EventArgs) Handles cmdsubmit.Click
form1.Controls.Clear()
pnlForm.Visible = False
pnlThanks.Visible = True
End Sub
我测试时,您的代码工作正常。我猜在回发时执行的其他代码中还有另一个pnlForm.Visible=True
。pnlThanks如果Visible=false则不会呈现,因此它不会显示在源代码中。您可以使用CSS(display=none)在开始时隐藏它,并在需要时进行更改。目前只有一个表单的runat=server标记已彻底检查。无法找到:(在提交时,从代码隐藏处将其设置为visible=true。请参阅上面的代码。
Protected Sub submit_Click(ByVal sender As Object, ByVal e As EventArgs) Handles cmdsubmit.Click
form1.Controls.Clear()
pnlForm.Visible = False
pnlThanks.Visible = True
End Sub
<form id="form1" runat="server" class="busgroup-form">
<asp:PlaceHolder ID="pnlThanks" runat="server" Visible="false">
<p><asp:Literal ID="lblReceipt" runat="server"></asp:Literal></p>
</asp:PlaceHolder>
<asp:PlaceHolder ID="pnlForm" runat="server" Visible="true">
</asp:PlaceHolder>
</form>