1ページに2つのhtmlフォームが必要です。 1つはログインの詳細用、もう1つはフィードバック用です。どちらの形式もrunat="server"
のattribを持つことはできません。asp.netページ上に複数のサーバーサイドフォーム
提案がありますか?
1ページに2つのhtmlフォームが必要です。 1つはログインの詳細用、もう1つはフィードバック用です。どちらの形式もrunat="server"
のattribを持つことはできません。asp.netページ上に複数のサーバーサイドフォーム
提案がありますか?
1ページにrunat = "server"という2つのフォームを作成することはできません。ここで
が素敵なソリューションです
Webフォームを使用している場合、あなたは今までページ上の一つの形を持っている必要があります。たぶんうんざりですが、それはウェブフォームの世界です...
全ページ一周を一周します。次に、ボタンをクリックすると(または使用しているイベントがあれば)、ページ上のすべてのコントロールの値にアクセスできるはずです。
はい、あなたが言ったように、ASP.NETではフォーム要素を複数持つことはできません。同じフォームで複数のアクションを処理できます。フォームのアクション属性を使用しないでください。< asp:Button >のようなasp.netサーバーコントロールを使用して、返信するコントロールのイベントにロジックを書き込みます。
フォームの1つを通常のHTMLフォームとして処理します。runat = "server"は使用しないでください。 Request.Formコレクションから任意のポストから値を手動で抽出します(フォームに対応するサーバー側の変数は存在しないため)。
また、すべての要素を同じフォームに配置しますが、別のコントロールを使用して送信してください。コントロールの各セット(およびその送信ボタン)は、あなたが気にしていない要素のために検証エラーが発生しないように、別の検証グループに含まれている必要があります。送信ボタンのコールバックでフォーム処理を処理します。
また、私は最終的にASP.NET MVCに移行することをお勧めします。 MVCはWebの視点からはるかに優れたアーキテクチャです。これは、ステートレスWebモデルとより密接に整合し、WinForms開発を模倣するのに役立つASP.NETに課された制限はありません。
ASP.NETページフレームワークアーキテクチャでは、フォームとrunat="server"
という属性が1つしかありません。あなたはこのことを心配する必要はありません。コントロールを2つの異なる目的のためにWebフォームに配置し、2つのasp.netサーバーコントロールのクリックイベントを個別に処理します。
論理的に1つのフォーム内で分割するだけです。バリデーターを使用し、2つの "フォーム"に他の値を入力する必要がないようにするには、ValidationGroupという.NETコントロールのプロパティーが必要です。
しかし、まっすぐ進むアプローチではありませんが、you CAN have multiple server side forms on the same pageですが、独自の制限があります。 Cost $50
[ASP.NETでのフォームベースプログラミング](http://msdn.microsoft.com/en-us/magazine/cc164151.aspx)の記事が役に立ちます。 –