2014-06-11 49 views
1

在我看來,我用這種形式的方法:如何在MVC Url.Action的不同控制器中調用不同的方法?

<form method="get" action="@Url.Action("Index")"> 

所以,「指數」是方法控制器 - 用戶A:

public ActionResult Index(SearchParameters parameters, UserModel userModel) 

我的問題是,如何在這同一視圖中的新形式添加方法,我想在不同的控制器中調用動作,所以我會舉例來說... action =「@ Url.Action(」Index2「)...其中Index2是ActionResult Index2 ...在Controller - UserB中。

感謝您的解釋...

回答

3

Url.Action有一個overload,需要一個控制器名稱作爲第二個參數,所以你應該能夠複製現有的代碼並添加第二個參數:

<form method="get" action="@Url.Action("Index", "UserB")"> 

順便說一句,你甚至可以簡化代碼進一步通過使用HtmlHelperBeginForm擴展方法,其具有same overload

@using (Html.BeginForm("Index")) { 
    // form fields here 
} 

@using (Html.BeginForm("Index", "UserB")) { 
    // form fields here 
} 

這會爲您呈現<form>結構。

+0

啊,謝謝你:D – geekforfreek

+1

不客氣!我還添加了關於如何渲染表單的建議 - 也有一些內置的輔助工具。 –

相關問題