[英]Html.RenderAction() in ASP.NET MVC 3
在我的布局中,我使用的是RenderAction,它将输出一个简单的电子邮件表单,该表单将发布到操作中。
// In _Layout.cshtml
@{Html.RenderAction("Email", "Home")};
// Home Controller
[ChildActionOnly]
public ActionResult Email(){}
[HttpPost]
public ActionResult Email(params){}
现在,当RenderAction是页面上的唯一表单时,它可以很好地工作。 如果不是,那么除了其他我不理解的表单操作之外,还会调用“电子邮件发布”操作。 表单不嵌套; 源看起来像这样:
<form id="email-form" action="/home/email" method="post">
// form elements
</form>
<form id="some-other-form" action="/somecontroller/someaction" method="post">
// form elements
</form>
如果来自其他形式的子操作出现在我的后部,该如何避免? 作为一种变通办法,我可以检查传入的参数,如果它们为null,则应该没问题,但我认为这不是预期的行为。
this.ControllerContext.IsChildAction;
控制器中的,将使您能够检查帖子是来自URL还是来自Html.RenderAction
。
这可能会帮助您更好地调试它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.