1. 使用 HTML 的 target="_blank"
最簡單的方法是使用 HTML 中的 target 屬性將連結設定為在新窗口(或標籤頁)中打開。
html
<a href="https://www.example.com" target="_blank">Open in new window</a>
這種方法是最基本的,只需在 標籤中添加 target="_blank" 即可。
2. 使用 JavaScript 的 window.open()
JavaScript 提供了更靈活的方式來打開新窗口,可以控制窗口的大小、位置、屬性等。
示例:基本用法
html
<button onclick="openNewWindow()">Open New Window</button>
<script>
function openNewWindow() {
window.open('https://www.example.com', '_blank');
}
</script>
示例:更多控制選項
html
<button onclick="openNewWindow()">Open New Window</button>
<script>
function openNewWindow() {
window.open('https://www.example.com', '_blank', 'width=600,height=400,scrollbars=yes,resizable=yes');
}
</script>
這個例子中,window.open 的第三個參數允許設置窗口的大小和特性。
3. 在 ASP.NET Core 中生成帶有 target="_blank" 的鏈接
在 Razor 視圖中,您可以動態生成帶有 target="_blank" 的鏈接。例如:
html
@{
var url = "https://www.example.com";
}
<a href="@url" target="_blank">Open in new window</a>
這樣可以根據需要動態生成不同的 URL。
4. 在 Razor Pages 或 MVC 操作中返回 JavaScript
有時候,您可能希望在操作中返回 JavaScript 來打開新窗口。例如,當用戶執行某個操作後,自動打開一個新窗口。您可以在控制器或 Razor Page 中返回一個包含 JavaScript 的視圖。
在控制器中返回 JavaScript
csharp
public IActionResult OpenNewWindow()
{
string script = "";
return Content(script, "text/html");
}
在 Razor Page 中返回 JavaScript
csharp
public IActionResult OnGetOpenNewWindow()
{
string script = "";
return new ContentResult
{
Content = script,
ContentType = "text/html"
};
}
總結
在 ASP.NET Core 8 中,開啟新窗口的主要方法包括:
HTML 的 target="_blank":最簡單的方式,適合靜態鏈接。
JavaScript 的 window.open():提供更多控制和動態行為。
Razor 視圖中的動態鏈接生成:根據需要動態生成鏈接。
在控制器或 Razor Page 中返回 JavaScript:在特定操作後自動打開新窗口。
這些方法可以根據不同的需求來選擇和使用,以實現開啟新窗口的功能。