如何在Ajax.BeginForm中从Url获​​取路由值?

时间:2014-10-17 11:56:01

标签: asp.net-mvc-5 ajax.beginform

如何在Ajax.Beginform中回传按钮时从action方法中获取url的路由值?

我应该使用以下语法吗?但是如何从url获取routeValues对象中的参数?

@using (Ajax.BeginForm("Delete", "Author", object routeValues, new AjaxOptions()
                                     {
                                         UpdateTargetId = "resultmessage",
                                         HttpMethod = "Post",
                                         InsertionMode = InsertionMode.Replace,
                                     }
                                   )
                   )

1 个答案:

答案 0 :(得分:1)

要从模型中传递单个属性,您可以使用

@model AuthorViewModel
@using (Ajax.BeginForm("Delete", "Author", new { ID = Model.ID }, ....

发回

public ActionResult Delete(int ID) {...

您还可以使用

传回复杂对象(包括模型本身)
@using (Ajax.BeginForm("SomeAction", "Author", Model.SomeComplexProperty, ....

其中Model.SomeComplexPropertyMyOtherModel的类型,其后发回

public ActionResult SomeAction(MyOtherModel model) {...

但这只有在对象的所有属性都是原始值(忽略集合或复杂对象的属性)时才有效。