将Model属性作为参数传递给Url.Action

时间:2017-07-31 10:11:35

标签: c# asp.net asp.net-mvc razor

我正在使用C#和.NET Framework 4.7开发ASP.NET MVC 5应用程序。

我在尝试使用Url.Action传递参数时遇到了麻烦。当我使用它时:

<input type="button" value="@Resources.ProductCreateOmitCaption" 
    onclick='location.href=<%: Url.Action("Index", "ProductionOrder", new { isWizard = @Model.IsWizard}) %>' />

我明白了:

<input type="button" value="Continue" 
    onclick='location.href=<%: Url.Action("Index", "ProductionOrder", new { isWizard =}) %>' />

我也尝试过:

<input type="button" value="@Resources.ProductCreateOmitCaption" 
    onclick="location.href='<%: Url.Action("Index", "ProductionOrder", new { isWizard = @Model.IsWizard}) %>'" />

这是另一个结果:

<input type="button" value="Continue" 
    onclick="location.href='<%: Url.Action("Index", "ProductionOrder", new { isWizard = False}) %>'" />

错误:

  

第177行第60行的JavaScript严重错误   http://AnotherPC:53827/Products/Create \ n \ nSCRIPT1015:未完成   字符串常量

我该怎么做?

顺便说一句,我正在使用Razor。

2 个答案:

答案 0 :(得分:4)

标记和@Resources指向您正在使用Razor视图引擎的事实。然而,对于您的URL,您使用的是aspx。应该没有两者的混合,所以如果你使用Razor,坚持使用Razor - aspx标记只是不会被识别。因此:

<input type="button" value="@Resources.ProductCreateOmitCaption" 
    onclick="location.href='@Url.Action("Index", "ProductionOrder", new { isWizard = Model.IsWizard})'" />

答案 1 :(得分:0)

试试这个

<input type="button" value="@Resources.ProductCreateOmitCaption" 
    onclick='location.href = @Url.Action("Index","ProductionOrder")' 
      + '?isWizard='+@Model.IsWizard +'/>'