簡體   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