2

我在页面底部有这个:

<form id="Login" method="post" runat="server">
<span class="MenutextWhite">You are logged in as 
<asp:Label ID="lblUsername" Runat="server"></asp:Label> 
- not you?&nbsp;&nbsp;</span>
<asp:LinkButton CssClass="MenutextWhite" ID="btnLogout" Runat="server" Text="Log out"
OnClick="Logout_Click" tip="click here to log out"> 
</asp:LinkButton>&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;<a href = "admin.aspx"
class="MenutextWhite">Admin</a>&nbsp;&nbsp;&nbsp;
</form> 

这涉及显示用户是谁并授予对管理部分和注销按钮的访问权限。(我没有使用母版页)

然而,在页面的上方,在主要内容区域,我需要另一个控件(freetextbox)

我怎样才能解决这个单一形式的问题?

4

3 回答 3

1

你只能有一个带有服务器端标签的表单。但是,您可以拥有尽可能多的 html 表单(不带runat=server)标签。该runat=server标签允许网络表单页面生命周期和查看内容工作。

如果您想要更传统的 Web 开发体验,请不要使用 Web 表单。而是使用 mvc 框架(FUBU、Monorail、MSMVC 等)

于 2012-06-18T14:01:05.030 回答
1

正如 Jason Meckley 所说——你不能。但在 ASP.Net 表单中,我从来不需要它。

您有两个按钮用于表单的两个不同部分 - 因此您将有 2 个不同的点击处理程序,因此可以采取两种不同的操作

protected void ptnFormPart1_Click(object sender, EventArgs e)
{
   //.. action 1
}

protected void ptnFormPart1_Click(object sender, EventArgs e)
{
   //.. action 2
}

因此,您不需要具有两种不同动作的两种不同形式

于 2012-06-18T14:12:02.680 回答
0

解决了!我需要的 2 个表格位于不同的 DIV 中。

因为我只能有一种形式,所以我将标签放在 - 所有内容之外。

现在一切正常。

于 2012-06-18T14:09:54.750 回答