繁体   English   中英

如何在ASP.Net MVC中进行JavaScript重定向?

[英]How do I do a JavaScript redirect in ASP.Net MVC?

以下代码将生成指向我想要访问的页面的链接。

<%= Html.ActionLink(image.Title, image.Id.ToString(), "Image") %>

以下代码将导致在页面上呈现正确的URL。

<%= Url.Action("Index", "Image", new { id = image.Id })%>

但是当我尝试在javascript中使用它时失败了。 (有关页面继承的一些奇怪错误)

<div onclick="window.location = '<%= Url.Action("Index", "Image", new { id = image.Id })%>'">
    ...
</div>

上述代码应该有效吗? 生成上面尝试的javascript的正确方法是什么?

更新我得到的错误是

Views \\ Home \\ Index.aspx.cs(9):错误ASPNET:确保此代码文件中定义的类与'inherits'属性匹配,并且它扩展了正确的基类(例如Page或UserControl)。

看起来它表明一个更大的问题。

修复感谢您的帮助,代码中包含一个带有runat="server"的div。 当我删除它时运行正常。 这可能是因为没有runat="server"形式,但我希望有一个不同的错误。

因为这个问题似乎没有意义我应该删除吗?

这实际上应该有效。 ASP.NET MVC将替换所有<%= ...%>或类似标签,它无法识别它是html定义还是javascript。 您的视图输出是什么? 来自Javascript或ASP.NET的“奇怪错误”是什么?

编辑 :关于您的更新:确保您的Index.aspx具有指向Index.aspx.cs的“Codebehind”属性(这是在第一行的Page-tag中),属性“Inherits”包含类的名称代码隐藏中的Page / User-Control类。

请查看错误消息的可能解决方案。 Codebehind与Codefile。

看起来你有一个HomeController与Image方法正确吗? 那应该是

<%= Url.Action("Image", "Home", new { id = image.Id })%>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM