【发布时间】:2011-07-07 11:58:29
【问题描述】:
在我们的 MVC3 项目中,我们使用的是 Spark 视图引擎。我们已经设置了一个 Bindings.xml 文件,其中包含多个绑定,其中一个用于 Html.BeginForm ,如下所示:
<element name="Form">
<start># using (Html.BeginForm("@action", "@controller", new RouteValueDictionary{{"@route-*"}}, FormMethod.@method, new Dictionary[[string,object]]{{"@*"}})) {</start>
<end># }</end>
</element>
我们在视图中使用它如下:
<Form controller="Account" action="Create" method="Post">
....
</Form>
我们现在有几个需要使用 ajax 表单的情况,所以理想情况下,我们想添加一个新的绑定以便我们可以使用
问题在于 Ajax.BeginForm 接受 AjaxOptions 对象。此对象用于配置 UpdateTargetId、成功/失败的方法和回调等内容。
在 Razor 中,我通常会这样称呼:
@using(Ajax.BeginForm("Create", "Account", new AjaxOptions { UpdateTargetId = "mydiv" }) )
根据用例,我们将希望在 AjaxOptions 对象上配置不同的字段并忽略其他字段。
有没有什么方法可以为 ajax 表单添加一个 spark 绑定来实现这个功能?例如:这样我们就可以声明像这样的 ajax 形式:
<AjaxForm controller="Account" action="Create" ajax-UpdateTargetId="mydiv"></AjaxForm>
或者在另一个例子中
<AjaxForm controller="Account" action="Create" ajax-OnComplete="handleSuccess"></AjaxForm>
【问题讨论】:
标签: asp.net-mvc-3 spark-view-engine