Asp.net mvc 2 renderaction是否在提交时调用其相应的httpPost操作

Asp.net mvc 2 renderaction是否在提交时调用其相应的httpPost操作,asp.net-mvc-2,Asp.net Mvc 2,我对asp.NETMVC有点陌生,我有一个问题(非常基本)。我到处乱闯,但我不完全确定这一点,我找不到任何特别有用的东西 假设我有两个控制器A和B以及两个视图FullView和PartView public class AController:... { //Renders FullView public ActionResult Create { .... } [HttpPost] public Acti

我对asp.NETMVC有点陌生,我有一个问题(非常基本)。我到处乱闯,但我不完全确定这一点,我找不到任何特别有用的东西

假设我有两个控制器A和B以及两个视图FullView和PartView

public class AController:...
{
      //Renders FullView
      public ActionResult Create
      {
        ....
      }

      [HttpPost]
      public ActionResult Create
      {
        ....
      }
}


public class BController:...
{
      //Renders an Arbitrary partial View (PartView)
      public ActionResult Create
      {
        ....
      }

      //Saves the data of the partial View
      [HttpPost]
      public ActionResult Create
      {
        ....
      }
}
第1个视图(FullView)包含代码

<%Html.RenderAction("Create", "B"); %>    

我的问题是“提交”是否会运行BController的操作([HttpPost]Create)


谢谢

这取决于您在
标记中指定的操作。这与asp.net mvc没有任何关系。如果您使用不带参数的
Html.BeginForm()
,它将发布到当前url(而不是BController上的创建操作)。

您可以做的第一件事是在操作中切换一些断点,然后按f5。 第二,调用什么操作完全取决于使用什么http方法访问什么url


但对于您的情况,当您发布表单A和控制器A处理post时,您可能会遇到验证问题,这就是在post操作上返回View(),这就是表单B通过其post方法呈现的原因。

Hi这正是我所做的,它确实运行了BControllers post方法。但是我做了一些改变,它停止了工作。我很惊讶它居然能排在第一位。我的控制器(呈现部分视图的控制器)中刚刚有一个(httppost)创建操作,它在内部崩溃,我很惊讶它运行了代码,因为我没有预料到它,但现在它不工作了,我质疑我的理智,但我有一个证人:)