2009-03-10 41 views
7

マスターページのメインASP.NETフォームのアクション属性を動的に変更しようとしています。マスターページのaspnetFormのアクション属性を動的に変更する

ページにはラジオボタンがあり、ユーザーはオプションの1つを選択し、ポストバック時にフォームのアクション属性を設定する必要があり、自動的にフォームを再送信する必要があります。

JavaScriptを同じものに使用しようとしていました。

document.forms[0].action = "option1.aspx"; 
document.forms[0].submit(); 

しかし、これは動作していないようですが、アクション属性には何の影響もありません。

私たちは、これが

悲しいこと
this.Form.Action = "option1.aspx"; 
ClientScript.RegisterStartupScript(this.GetType(),"test1", 
    "document.form[0].submit();",true); 

を使用することによって容易に達成することができ、マスターページを使用しない場合、我々は...これを達成できる方法上の任意のポインタをマスターページを削除カント..?

答えて

5

これは、私が読んでいないことを読んだことのあるものです。 Formタグはそのaction属性をハードコードします。実行時にその構成を制御するには、制御アダプターを使用する必要があります。私はポストバックURLを書き直したURLにする必要があるときに、特にURL書き換えに使用します。スコット区はそのためのコードを作って、あなたはここでそれを見つけることができます。

http://www.scottgu.com/blogposts/urlrewrite/UrlRewrite_HttpModule1.zip

そして記事のアドレス:

http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx

+0

ニース:。たとえば、フォームが Form1のと命名し、あなたのラジオボタンがオプションの名前を持っている仮定正確に私が必要としたもの。 +1 – Neil

+0

+1便利です。これに基づいて、私はサーバーベースのフォームを捨て、いくつかの古典的なHTMLをやった。 – JDB

0

フォームが結果に値を渡す必要がないしページ?そうでない場合は、Response.Redirectを正しいページに使用するだけです。あなたはなぜあなたは、まったくポストバックをトリガーしている値を渡す必要がある場合は

protected void btnSubmit_Click(object sender, EventArgs ags) { 
     switch (lstOptions.SelectedValue) { 
      case "option1": 
       Response.Redirect("~/option1.apsx"); 
       break; 
      //etc 
     } 
} 

:たとえば、あなたがRadioButtonListのを使用している前提がlstOptionsと呼ばれますか?あなたが望むものをjavascriptだけで達成できるように思えます。

<input type="submit" value="Submit" onclick="javascript:submitForm()" /> 

<script type="text/javascript"> 
    function submitForm() { 
     for (var i=0; i < document.form1.options.length; i++) { 
     if (document.form1.options[i].checked) { 
      document.forms[0].action = "option" + i + ".aspx"; 
      document.forms[0].submit(); 
     } 
     } 
    } 
</script> 
+0

はい私はこのページから値を取得する必要があります。したがって、私はちょうどリダイレクトすることができません.. 私はオプション2を使用しようとしましたが、その方法でも動作していません..さらにアクションイベントのページの名前に加えてランタイムのみ..それはストレートではありません..しかし、助けてくれてありがとう.. :) –

関連する問題