Asp.net mvc 4 MVC4 Ajax.begin RouteValue在HTML中转换为类型名称

Asp.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

我正在MVC4Razor视图中使用Ajax.BeginForm

@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&amp;Keys=System.Collections.Generic.Dictionary%602%2BKeyCollection%5BSystem.String%2CSystem.Object%5D&amp;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&amp;Keys=System.Collections.Generic.Dictionary%602%2BKeyCollection%5BSystem.String%2CSystem.Object%5D&amp;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>