使用jquery参数在Url.Action中迁移MVC4问题

时间:2015-01-07 19:37:15

标签: jquery asp.net-mvc-4 asp.net-mvc-2 migration url.action

我正在从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'

任何解决方案? 感谢

1 个答案:

答案 0 :(得分:2)

在MVC 4中,使用@而不是&lt;%= for Url.Action()

 url: '@Url.Action("ObDCob", "ListCob",new { area = "Cob", xsDoc = "'+doc+'",xsTipoDoc = "'+tipoDoc+'",xiA = "'+idA+'"})'