asp.net-mvc - 如何在MVC Url.Action中调用不同 Controller 中的不同方法?

标签 asp.net-mvc controller url.action

在我看来,我正在使用这种表单方法:

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

所以“Index”是 Controller 中的方法 - UserA:

public ActionResult Index(SearchParameters parameters, UserModel userModel)

我的问题是,如何在同一个 View 中添加新的表单方法,我想在不同的 Controller 中调用操作,因此我会调用 ... action="@Url.Action("Index2") 。 .. 其中 Index2 是 ActionResult Index2 ... 在 Controller - UserB 中。

感谢您的解释...

最佳答案

Url.Action 有一个 overload它将 Controller 名称作为第二个参数,因此您应该能够复制现有代码并添加第二个参数:

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

顺便说一下,您可以使用 HtmlHelper 进一步简化代码。 BeginForm 扩展方法,其中有 same overload :

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

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

这将渲染你的 <form>适合您的结构。

关于asp.net-mvc - 如何在MVC Url.Action中调用不同 Controller 中的不同方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24164546/

相关文章:

javascript - 初始加载和更新之间的 SignalR

asp.net-mvc - ASP.NET MVC 中的全局错误处理( Controller 之外)

controller - 从另一个 Controller 调用另一个模块中的 Controller

asp.net-mvc - 在ASP.NET MVC中更改 Controller 名称约定

c# - 如何在类文件中使用 Url.Action()?

asp.net-mvc - OutputCache 停止工作

asp.net-mvc - MVC 4 : Create controller for Shared view _Layout. cshtml

mysql - 找不到数据库表 cakephp

asp.net-mvc-4 - URL.Action 参数中的客户端值

jquery - 使用@url.action调用部分 View 点击使用jquery