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

Jason Meckley が言うように、できません。しかし、ASP.Net フォームでは、私はそれを必要としませんでした。

フォームの 2 つの異なる部分に 2 つのボタンがあるため、2 つの異なるクリック ハンドラがあり、2 つの異なるアクションを実行できます。

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

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

したがって、2 つの異なるアクションを持つ 2 つの異なるフォームは必要ありません。

于 2012-06-18T14:12:02.680 に答える
1

サーバー側タグを持つフォームは 1 つしか持てません。runat=serverただし、html フォーム ( を除く) タグはいくつでも使用できます。このrunat=serverタグにより、Web フォーム ページのライフ サイクルとビューの機能が機能します。

より伝統的な Web 開発エクスペリエンスが必要な場合は、Web フォームを使用しないでください。代わりに mvc フレームワーク (FUBU、モノレール、MSMVC など) を使用します。

于 2012-06-18T14:01:05.030 に答える
0

解決しました!私が必要とした 2 つのフォームは、異なる DIV にありました。

フォームは 1 つしか持てないので、すべてのコンテンツの外側 - のすぐ内側にタグを配置しました。

これですべて正常に動作します。

于 2012-06-18T14:09:54.750 に答える