2009-04-08 7 views
20

私はasp.net MVCフレームワークを使用しています。私のページにはdropdwonboxがあり、オプションをクリックすると別のページに行きたい。しかし、autopostbackプロパティをtrueに設定する方法や場所を見つけることができません。C#asp.net mvcを使用するときにautopostbackプロパティを設定するには?

ASPX:これは私が使用しているコードです

<%= Html.DropDownList("qchap", new SelectList((IEnumerable)ViewData["qchap"], "Id", "Title")) %> 

コントローラー:

public ActionResult Index(int id) 
{ 
    Chapter c = new Chapter(); 
    ViewData["qchap"] = c.GetAllChaptersByManual(id); 

    return View(); 
} 

何私はAutoPostBackの機能を使用するためにしなければならないのですか?

<%= Html.DropDownList("qchap", 
     new SelectList((IEnumerable)ViewData["qchap"], "Id", "Title"), 
     new { onchange = "this.form.submit();" }) %> 

答えて

36

あなたがのonchangeクライアントイベントを使用することができます。 フォーム内でそれを使用し、カスタムカスタムhtml属性を使用してフォームを送信することがあります。

+0

thnxでメールしてください。私はクラス属性を追加したい場合、私はこの同じ方法を使用する必要がありますか? – Martijn

+2

はい、C#の場合、接頭辞としてアンダースコアを付ける必要があります。つまり、新しい{_class = "something"} – meandmycode

+0

コントローラはどのアクションを実行する必要があるかをどのように知っていますか? –

0

DropDownListのヘルパーメソッドがこれをサポートしていないようです:

0

私はあなたがformsCollection

ポストバック公共のActionResultインデックス(FormsCollectionあるmyForm)

(私はMVCがインストールされている私の自宅のPC上ではないので、私にあなたのポストバックを調整したいことがあまりにも信じていますここで構文を確認できません)

0

このコードを使用して解決します。

のActionResult機能のために

だし、表示

<p> 
    <% Using Html.BeginForm()%> 
     <%=Html.DropDownList("ddlIndustry", New SelectList(CType(ViewData("IndustryList"), IEnumerable), "ID", "Name"), "--Choose industry--", New With {.onchange = "this.form.submit()"})%> 
    <% End Using %> 

    </p> 

のために、私はそれが役に立てば幸い

Function Index(ByVal collectionField As FormCollection) As ActionResult 

     Dim industryCategoryID As Long = collectionField.Item("ddlIndustry") 
     If industryCategoryID = 0 Then 
      Me.ViewData("IndustryList") = GlobalController.GetIndustryList 
      Return View(_service.ListCompanies()) 
     Else 
      Me.ViewData("IndustryList") = GlobalController.GetIndustryList 
      Return View(_service.ListCompanies(industryCategoryID)) 
     End If 

End Function 

。私はより完全なコードをご希望の方は、[email protected]

関連する問題