我在asp.net中有一个变量,用于存储隐藏字段的值。我需要在另一个aspx页面中访问该局部变量,因为我需要将此值作为参数传递给kendo javascript中的wcf服务URL。所以我需要全局变量中的值。
这是我的代码,
protected void Page_Load(object sender, EventArgs e)
{
string s = hidden.Value;
}
我想要的是,
public string month_name = s;
这样我就可以在我的wcf服务网址中传递它,
url:"http://<%=strWcfServer%>/WcfService1/Service1.svc/LoadProductCounts_Monthly?month=<%=month_name%>"
答案 0 :(得分:1)
您可以在处理请求期间创建可以从Page
中的其他方法访问的类级变量。在处理请求结束时,即使是同一Page
类的另一个实例也无法使用此值。
如果你想创建一个可以从其他类访问的变量,我认为你应该使用Session
对象。
Session["month_name"] = "the value you want to place here";
然后你可以从另一个类中读取这个值,简单如下:
string month_name = (string)Session["month_name"];
<强>更新强>
如果您只需要当前的月份名称,您可以使用它:
DateTime.Now.ToString("MMMM", CultureInfo.InvariantCulture)
在这种情况下,您不必使用Session对象。
答案 1 :(得分:0)
对全局变量的需求几乎总是设计问题的一个标志,尤其是在Web应用程序中。也就是说,可以使用会话变量(不是技术上的全局,但可以从任何地方通过某些工作访问)来完成,如Christos所提到的,或者使用静态类。 通过网络搜索找到以下内容:“asp全局变量”: