我正在从MVC2迁移到MVC4,当我使用来自jquery的params的Url.Action函数时,我遇到了问题。生成的url是错误的。 我在框架4.5.1中使用C# 这是我的代码:
var doc = jQuery('#grilla').jqGrid('getCell', row_id, 'Doc');
var tipoDoc = jQuery('#grilla').jqGrid('getCell', row_id, 'TipoDoc');
var idA = jQuery('#grilla').jqGrid('getCell', row_id, 'A');
var subGrilla = jQuery("#" + subgrid_table_id).jqGrid({
url: '<%= Url.Action("ObDCob", "ListCob",new { area = "Cob", xsDoc = "'+doc+'",xsTipoDoc = "'+tipoDoc+'",xiA = "'+idA+'"}) %>',
生成HTML时,会生成以下内容:
'/clearing/WebBP/Cob/ListCob/ObDCob/'%2bdoc%2b'/'%2btipoDoc%2b'/'%2bidA%2b''
相反:
'/clearing/WebBP/Cob/ListCob/ObDCob/doc/tipoDoc/idA'
任何解决方案? 感谢
答案 0 :(得分:2)
在MVC 4中,使用@而不是&lt;%= for Url.Action()
url: '@Url.Action("ObDCob", "ListCob",new { area = "Cob", xsDoc = "'+doc+'",xsTipoDoc = "'+tipoDoc+'",xiA = "'+idA+'"})'