1

マスターページを使用するプログレッシブエンハンスメントを使用して構築されたWebFormsサイトがあります。明らかに、タグはASP.NETによってデフォルトで挿入されるため、ポストバックを管理できます。

私は次のことをする方法が必要です

<form action="new_url" method="get">
 <input ... />
</form>

明らかに、.NETは外部でリクエストをインターセプトし、それ自体にポストバックしています。これはJavaScriptで実行できますが、その後、Webサイトのプログレッシブエンハンスメントポリシーに違反します。これは、リダイレクトを管理するためのASP.NETサーバーコントロールを基本的に構築しないと不可能ですか?

ありがとうマーティン

4

3 に答える 3

1

ページクラスには「PostBackUrl」というプロパティがあり、ASP.NETにポストバックの送信先を指示するために使用できると思います。

それがページなのかリンクボタンクラスなのか思い出せませんが、グーグルの「PostBackURL」だけで良い結果が得られるはずです。

于 2012-06-19T14:30:54.433 に答える
1

フォームとASP.netを使用すると、Get変数にアクセスできます。

Page.Request.QueryString[<param>];

このように使われています

<form action="new_url" method="get">
    <input type="text" id="txtName" name="name" />
</form>

page_loadメソッドまたは送信ページで、このコードを使用して入力フィールドにアクセスできます

Page.Request.QueryString["name"]
于 2012-06-19T14:36:56.480 に答える
1

タグは、ソースファイルに。を付けてよく表示される必要がありますrunat="server"。ただし、別のフォームタグを別のフォームタグに追加することはできません。また、2つ持つことはできません<form runat="server">

したがって、これを実現する1つの方法は、既存のフォームの後にフォームを追加することです。現在のMasterPages/Pages / UserControlsの設定では、特に<form runat="server">MasterPageでタグを取得した場合は、それが不可能な場合があります。

したがって、ネストされたマスターページを使用して構造を再評価し、実際にPostBack機能を使用するページを選択<form>し、他のページに使用するMasterPageを少なくすることができます。

別の方法は、javascriptを使用していくつかのフィールドからURLを作成することです。

この投稿を見てください、それはあなたを助けるかもしれません:ASP.NETページの複数のフォーム

于 2012-06-19T15:38:22.813 に答える