Asp.net mvc 5 如何从Ajax.BeginForm中的Url获取RouteValue?
如何在从Ajax.Beginform发回按钮时从url中获取RouteValue 我应该使用下面的语法吗?但是如何从url获取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
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},…。
谢谢。当我有这个场景时,我会测试这个选项,我确信这个场景会出现。再次感谢。