[英]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.