参数传递给控制器​​。从控制器中的另一个控制器调用方法

时间:2014-06-04 21:53:47

标签: c# asp.net-mvc asp.net-mvc-4 razor

我在 cshtml 文件中有一个表单,在底部我有2个按钮。

按钮1 它在自己的控制器中调用自己的方法[HttpPost]。

 <p>
     <input type="submit" value="Submit" id="SubmitID" />
 </p>

按钮2 我调用方法&#34;添加&#34;在另一个控制器中,例如XYZ。

 @Html.ActionLink("Add btn", "Add", "XYZ",
           new { id = Model.myId }, "")

问题:如何从控制器内的按钮2(来自button1)调用操作?简单地:从另一个控制器调用方法。 以及如何将 new {id = Model.myId} 传递给控制器​​。

也许有更好的方法吗?也许他想要做的是与良好的做法不一致?如果是这样,我应该如何得到我的结果。

2 个答案:

答案 0 :(得分:1)

您可能需要再指定一点,但假设操作为Add且控制器为XYZ,您将完全按照自己的意愿行事......是否存在问题?

http://msdn.microsoft.com/en-us/library/dd504972(v=vs.118).aspx

答案 1 :(得分:1)

我无法回想起所有细节,但在1控制器方法中,我使用了以下内容:

public ActionResult Method1(int id)
{
var controller = new XYZ();
return controller.Add(id);
}

您需要将上述控制器调用添加到当前的控制器方法中。

<强>更新 也许更好的解决方案是拥有两个控制器都可以调用的通用方法;这将更容易维护。