簡體   English   中英

MVC/JavaScript/Razor - 如何從按鈕打開新視圖

[英]MVC/JavaScript/Razor - How to open a new View from a button

我正在使用MVC模式的.Net 框架中工作。 我有一個看起來像這樣的鏈接(有效)

<li><a href="@Url.Action("HomePage", "Home")">Main Page</a></li>

在上面的鏈接中,“HomePage”是 .cshtml 頁面的名稱,並且控制器中有一個同名的方法返回視圖。 第二個參數“Home”是 .cshtml 頁面所在的 Views 下的子文件夾。

現在,在同一視圖的不同部分,我有一個按鈕,單擊時應導航到同一位置。 它看起來像這樣:

<input type="button" class="navigationButtons" id="btnHome" value="Main Page" />

因為我為導航按鈕使用了 .css 樣式表,所以我真的很想將代碼從 JavaScript 中的按鈕轉到主頁。 因此,我創建了一個 jQuery 變量並將其綁定到 .on("click", onHome) 事件。 我有以下方法:

onHome = function () {
    var url = '@Url.Action("HomePage", "Home")';
    window.location.href = url;
}

我也試過 window.open("HomePage", "Home"); 連同我能找到的任何其他東西,都無濟於事。 重要提示:我不想在新窗口中打開視圖; 它應該完全按照鏈接中的方式打開(它顯示框架視圖內的視圖,就像屬於主應用程序頁面的主菜單下的嵌入視圖)。

我了解到,如果我在 html 中使用按鈕類型而不是輸入類型,我可以包含 onClick 的鏈接,但我也遇到了問題。 似乎所有示例都包含一個完整的 url。 但我試圖在框架中打開一個視圖。 我沒有完整的網址。

有人對如何從 JavaScript 進行這種類型的導航有任何想法嗎? 如果沒有,或者html中有更好的方法,那么我很想得到回應。

你能在你的'navigationButtons'類中使用你的actionlink Html helper嗎?

@Html.ActionLink("Home", "Index", "Home", new { @class = "navigationButtons" })

只需在標簽中添加類。

<a href="@Url.Action("HomePage", "Home")" class="navigationButtons" autocomplete="off" data-loading-text="Loading Main Page...">Main Page</a>

我使用這個錨 <a href="@Url.Action("View File cshtml file", "ViewFolder")">

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM