如何在剃刀视图全局中创建变量?

时间:2017-05-04 18:04:40

标签: c# asp.net-mvc razor asp.net-mvc-5 asp.net-core

我想知道如何创建一个我在剃刀视图全局中声明的变量,以便我可以在另一个视图中访问它?我执行了一个ajax函数,用于获取其父表中td元素的位置。然后我将索引存储在一个int变量中。现在我想从另一个视图/控制器访问该变量以完成if-else语句。我该怎么做?

3 个答案:

答案 0 :(得分:2)

执行此操作的最佳方法(尽管首先不是一个好主意)是将您想要全局的变量传递给下一个视图视图模型,然后使用{{1您还可以使用cookie,会话变量和其他一些东西,然后当您需要使用变量时,只需读取存储它的会话或cookie中的值。

我的建议是,如果您觉得需要使用视图全局变量......您可能需要重新考虑您尝试解决的问题,因为可能有更好的方法来实现它。

答案 1 :(得分:0)

为什么不将javascript变量设置为您想要访问的值,只要页面不刷新或使用其他视图中的javascript重定向就应该能够找到它。使用window.myVariableName来帮助扩大查找变量的javascript范围。

如果您的页面重定向或刷新,这将不是一个可行的解决方案。

答案 2 :(得分:0)

创建自定义WebViewPage

public abstract class CustomWebViewPage : WebViewPage
{
    public string Foo { get; set;} //Provide your Variables here
}

并在/Views/web.config

中注册
<pages pageBaseType="Your.Namespace.CustomWebViewPage ">

更多详情here