Asp.net mvc 5 如何从Ajax.BeginForm中的Url获取RouteValue?

Asp.net mvc 5 如何从Ajax.BeginForm中的Url获取RouteValue?,asp.net-mvc-5,ajax.beginform,Asp.net Mvc 5,Ajax.beginform,如何在从Ajax.Beginform发回按钮时从url中获取RouteValue 我应该使用下面的语法吗?但是如何从url获取routeValues对象中的参数呢 @using (Ajax.BeginForm("Delete", "Author", object routeValues, new AjaxOptions() { UpdateT

如何在从Ajax.Beginform发回按钮时从url中获取RouteValue

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

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

要从模型中传递各个特性,可以使用

@model AuthorViewModel
@using (Ajax.BeginForm("Delete", "Author", new { ID = Model.ID }, ....
哪个发帖回

public ActionResult Delete(int ID) {...
public ActionResult SomeAction(MyOtherModel model) {...
还可以使用以下命令传回复杂对象(包括模型本身)

其中,
Model.SomeComplexProperty
MyOtherModel
的类型,它发回

public ActionResult Delete(int ID) {...
public ActionResult SomeAction(MyOtherModel model) {...

但只有当对象的所有属性都是基元值时(忽略集合或复杂对象的属性)

您可能会误解。如果您有
public-AtionResult-Delete(int-ID)
则使用
Ajax.BeginForm(“Delete”、“Author”、new{ID=SomeValue}、new-AjaxOptions(),…
或者如果您的方法接受多个参数或一个复杂对象,您可以在第三个参数中传递该对象的实例。“SomeValue”在我的URL中。如何从URL获取并将其存储在ID参数中?如果SomeValue=5,则在
public-AtionResult-Delete(int-ID)中
ID的值将是5,但如何在Ajax.BeginForm语法中将该值分配给我视图中的ID?我的URl类似,这里的ID是5,我想在回发时将其放在控制器中。我不确定我是否理解。如果使用
@using(Ajax.BeginForm(“Delete”,“Author”,new{ID=5},…
并返回到
public-AtionResult-Delete(int-ID)
中,则
Delete
方法中的ID值将为5(尽管这对于名为
AuthorDetail
的方法似乎没有多大意义,该方法可能是GET,而不是POST)再想想。我知道我得到了解决方案,但如果我的模型中没有Model.Id呢。可能是URL中的某个变量我想传递给我的方法,那么我如何在
new{Id=???}
Ajax.BeginForm
表单中传递该值呢?你可以使用
ViewBag
所以
公共操作结果作者详细信息(int ID){ViewBag.ID=ID;var model=??;return View(model);}
视图中的
@使用(Ajax.BeginForm(“Delete”,“Author”,new{ID=ViewBag.ID},…。
谢谢。当我有这个场景时,我会测试这个选项,我确信这个场景会出现。再次感谢。