【发布时间】:2012-08-18 13:01:29
【问题描述】:
我的“return view()”有一个问题,它不能在我的控制器中执行代码。
我有一个带有此代码的控制器:
public class BrokerController : BaseController
{
public ActionResult BestallMaklarBild()
{
return View(new BestallMaklarBildViewModel());
}
[HttpPost]
public ActionResult BestallMaklarBild(FormCollection collection)
{
try
{
//Some code
return View("MaklarBildBestalld",new MaklarBildBestalldViewModel());
}
catch
{
return View(new BestallMaklarBildViewModel());
}
}
public ActionResult MaklarBildBestalld()
{
//Some code
return View(new MaklarBildBestalldViewModel());
}
}
当我发布到我的控制器“BestallMaklarBild”然后尝试返回 view("MaklarBildBestalld",new MaklarBildBestalldViewModel()) 时,“MaklarbildBestalld”中的代码不会执行。因此,当模型返回到视图时,它不包含任何数据,并导致我的视图在我尝试将一些数据输出到视图时出现错误提示 model.something = null。
不知道自己做错了什么。
【问题讨论】:
-
你有没有注意到你没有给model.something分配任何东西?
-
达林是正确的。为什么你会期望“返回 View();”执行控制器方法而不是渲染视图? MVC 有点暗示 V 和 C 部分是分开的...... :-)
标签: c# asp.net-mvc-3 controller actionresult