Nir*_*man 2 renderpartial ajax.beginform asp.net-mvc-4
是否可以在@using(Ajax.BeginForm)代码块中使用@ Html.RenderPartial?如果我使用@ Html.RenderPartial它不起作用,如果我将整个razor代码直接放在@using(Ajax.BeginForm)块中,它就可以工作.
任何人都可以建议是否可能?
如果Html.RenderPartial
正好在那@using(Ajax.BeginForm(...))
之后你就不需要将调用加到Html.RenderPartial前面,@
因为razor知道你仍然在同一个代码块中.
所以,这很好用:
@using (Ajax.BeginForm(...)) {
Html.RenderPartial("_PartialView", Model);
<p>after partial view inside the ajax form</p>
}
Run Code Online (Sandbox Code Playgroud)
如果在`@using(Ajax.BeginForm(...))和渲染部分之间有一些html,那么razor将在你调用RenderPartial之前结束代码块,你需要这样做:
@using (Ajax.BeginForm(new AjaxOptions())) {
<div>
<h3>partial view inside the ajax form</h3>
@{ Html.RenderPartial("_PartialView", Model); }
</div>
}
Run Code Online (Sandbox Code Playgroud)
另请注意,这Html.RenderPartial
是一个返回void并在内部调用Write的方法,因此使用它的语法与使用时略有不同Html.Partial
,这就是为什么需要用"@ {"包围它(当不在代码块中时)以分号结束.看到这个问题
归档时间: |
|
查看次数: |
3436 次 |
最近记录: |