1

ASP.NET 限制使用超过 1 个runat="server"表单。

我有一个Master Page,目前没有表格。

我还有许多其他页面,有些带有表单(Register.aspx - Login.aspx),有些没有表单。

我想在主服务器中添加一个注销按钮(用户登录后)。

这很正常,注销按钮应该始终存在。

但是要使用这个ASP 按钮控制器,我需要在母版页中使用一个表单。

意味着,我将无法访问具有表单的其他页面,因为我会收到错误消息。

我已经有其他想法可以绕过这个。

1-使用JQuery使用Ajax加载处理程序,清除会话。

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

3- 将其设为将我带到同一页面的链接 (Default.aspx?logout=1) <- 并在页面加载方法中检查此参数,如果存在,请清除会话。

这些是好方法吗?有没有更好的?

4

2 回答 2

1

请解释为什么您的母版页中不能有该表单并使用该母版页删除这些页面中的所有表单?无论如何,这是 ASP.NET 中最常见的模式。

如果您由于某种原因不能这样做,我会选择2。

于 2013-01-12T18:11:02.640 回答
0

您不需要绕过它,只需将整个包裹在asp:ContentPlaceHolder里面,form runat="server"这样您就可以在每一页上都有表格了。

在母版页中

<form runat="server">
    <asp:ContentPlaceHolder id="MainBodyContent"></asp:ContentPlaceHolder>
</form>
于 2013-01-12T18:21:59.520 回答