将模型属性作为参数传递到Url.Action

5

我正在使用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}) %>' />

I get this:

<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}) %>'" />

出现错误信息:

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

我该怎么办?

顺便提一下,我正在使用Razor。


你正在使用aspx视图引擎还是Razor视图引擎? - Power Star
你不能像那样混合Razor和aspx代码-请使用@Url.Action("Index", "ProductionOrder", new { isWizard = @Model.IsWizard }) - user3559349
只需删除<%:和%>即可。 - daniell89
@我正在使用Razor。 - VansFannel
2个回答

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})'" />

完美答案!! - Power Star

0

试试这个

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

OP正在使用Razor视图。 - Power Star
@PowerStar 不知道这件事 - RAHUL S R

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接