Asp.net mvc 4 MVC4 Ajax.begin RouteValue在HTML中转换为类型名称
我正在MVC4Razor视图中使用Ajax.BeginFormAsp.net mvc 4 MVC4 Ajax.begin RouteValue在HTML中转换为类型名称,asp.net-mvc-4,ajax.beginform,Asp.net Mvc 4,Ajax.beginform,我正在MVC4Razor视图中使用Ajax.BeginForm @model EditViewDefinition @{ RouteValueDictionary postParams = new RouteValueDictionary(); postParams.Add("entityUid", Model.EntityUid); postParams.Add("entityId", ViewBag.entityId); postParams.Add("vie
@model EditViewDefinition
@{
RouteValueDictionary postParams = new RouteValueDictionary();
postParams.Add("entityUid", Model.EntityUid);
postParams.Add("entityId", ViewBag.entityId);
postParams.Add("viewUid", Model.UID);
string viewContainerId = "viewcontent_" + Model.UID.ToString().ToLower() + "_" + ViewBag.entityId.ToString();
}
然后
现在,当我在浏览器中检查生成的HTML时,我得到:
<form id="form0"
action="/View/Edit?Count=3&Keys=System.Collections.Generic.Dictionary%602%2BKeyCollection%5BSystem.String%2CSystem.Object%5D&Values=System.Collections.Generic.Dictionary%602%2BValueCollection%5BSystem.String%2CSystem.Object%5D"
method="post"
data-ajax-success="submitSuccess('viewcontent_fb1a8d4c-fd30-4da4-b11c-bff99f3bb74f_1')"
data-ajax-method="Post"
data-ajax="true">
...
</form>
...
为什么我在action属性中得到的是System.Collections.Generic.Dictionary%602%2BKeyCollection%5BSystem.String%2CSystem.Object,而不是action=“/View/Edit?entityUid=uid&entityId=1&viewUid=uid?多亏了的注释。我使用了var postParams=new{entityUid=Model.entityUid,entityId=ViewBag.entityId,viewUid=Model.UID};
有效
非常感谢Stephen。您尝试过
var postParams=new{entityUid=Model.entityUid,entityId=ViewBag.entityId,viewUid=Model.UID};
非常感谢Stephen,效果非常好。哇。
<form id="form0"
action="/View/Edit?Count=3&Keys=System.Collections.Generic.Dictionary%602%2BKeyCollection%5BSystem.String%2CSystem.Object%5D&Values=System.Collections.Generic.Dictionary%602%2BValueCollection%5BSystem.String%2CSystem.Object%5D"
method="post"
data-ajax-success="submitSuccess('viewcontent_fb1a8d4c-fd30-4da4-b11c-bff99f3bb74f_1')"
data-ajax-method="Post"
data-ajax="true">
...
</form>