如何从_LyoutView中添加一些内容添加到特定视图

时间:2011-08-19 16:34:15

标签: asp.net-mvc-3

我在_LyoutView上有这样的脚本:

<noscript>
        <meta http-equiv="refresh" content="0; URL=/Noscript">
</noscript>

但是当禁用javascript的用户重定向到该页面时,该页面的无限请求也会发生,因为该页面也包含上述代码。

所以我只是觉得ASP.NET MVC中有一些开箱即用的东西可以提供帮助吗?

基本上我希望将_LyoutView中的代码添加到除Noscript视图之外的所有视图中。

我可以在_LyoutView上这样做:

@if (ViewContext.Controller.ValueProvider.GetValue("action").RawValue != "Noscript")
{ 
<noscript>
    <meta http-equiv="refresh" content="0; URL=/Noscript">
</noscript>
}

但可能还有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

您可以检查RawUrl对象的Request属性,看它是否包含术语“Noscript”,我假设它不会成为URL的一部分,除非我们在页。

@if(!Request.RawUrl.Contains("Noscript"))
{
<noscript>
        <meta http-equiv="refresh" content="0; URL=/Noscript">
</noscript>
}