绕过每页ASP.NET的一个RUNAT服务器外形(Bypassing ASP.NET's O

2019-10-17 14:04发布

ASP.NET限制使用多于1个runat="server"的形式。

我有一个母版页 ,目前没有形式。

我有很多其他网页,一些与窗体(Register.aspx - 为Login.aspx),有些没有一种形式。

我想在主添加退出按钮 (用户登录后)。

这是一种正常的退出按钮应该永远存在。

但是使用这个ASP按钮控制器我需要在母版页使用的形式

手段,我将无法访问具有其他形式的页面,因为我会收到一个错误。

我已经有其他的想法绕过这一点。

1使用jQuery加载使用Ajax 处理程序 ,明确了会议。

2 -让注销一个链接 ,看起来像一个按钮,点击它加载另一个.aspx页 ,在页面加载方法,清除会话,然后重定向,听起来就像是第一个...

3-使它成为一个链接,带我到同一个页面(Default.aspx的退出= 1?)< -和检查页面加载方法在这里面的参数 ,如果它的存在,明确了会议。

这些是好办法? 有没有更好的?

Answer 1:

你不需要绕过它,只是包装整个asp:ContentPlaceHolder内部form runat="server"所以你必须在表格的每一页上了。

在母版页

<form runat="server">
    <asp:ContentPlaceHolder id="MainBodyContent"></asp:ContentPlaceHolder>
</form>


Answer 2:

你能解释为什么你不能在你的母版的形式,并删除所有形式使用该母版那些页面? 这是一个在ASP.NET中最常见的模式呢。

如果由于某种原因不能做到这一点,我会去2。



文章来源: Bypassing ASP.NET's One RUNAT SERVER FORM per page