[英]What is an alternative in MVC to meta tag content url:?
我正在一個MVC項目中使用大量的Java腳本,正在嘗試將以下代碼放入_Layout頁面:
<noscript>
<meta http-equiv="refresh" content="0;url=/NoJScript" />
</noscript>
因此,我一步一步地遵循了本教程 ,並且當我在瀏覽器中關閉Java腳本時,url = / NoJScript並沒有帶我去使用控制器方法。 我剛得到一個404。當然,我也將其放置在視圖中。 我什至試圖全力以赴,卻一無所獲。 我讀到某個地方甚至都不應該使用meta標記下的URL,因為在某些瀏覽器中它不可靠。 那么,在瀏覽器中關閉Java腳本時,是否有代碼可以自動將我重定向到我的控制器和操作結果方法?
這是NoJScript控制器:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace Pansense.Controllers
{
public class NoJScriptController : Controller
{
//
// GET: /NoJScript/
[AllowAnonymous]
public ActionResult NoJavaScript()
{
return View("NoJavaScript");
}
}
}
這是一種與其方法NoJavaScript相同的視圖:
@{
ViewBag.Title = "JavaScript required";
Layout = null; // <= Important!
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>@ViewBag.Title - My MVC App</title>
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
</head>
<body>
To use this application JavaScript is required.
</body>
</html>
您需要像在本教程中一樣將動作命名為Index
,而不是NoJavaScript
。 或者您可以將網址更改為/NoJScript/NoJavaScript
進一步澄清:
當前,您在meta標記中的網址將指向NoJScriptController
上的默認操作,除非您更改了路由值,否則它將為Index
操作。 因此,您需要在meta標簽的url中指定NoJavaScript
操作,或將操作重命名為Index
。
注意:如果重命名動作,則還必須重命名視圖。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.