会话变量+ WebMethod变量值未更新
本文关键字:更新 变量值 WebMethod 变量 会话 | 更新日期: 2023-09-27 18:08:15
我有一个带有下拉列表的web应用程序。当一个新的索引被选中时,我必须将值存储到一个会话变量中,这是在Session_Start事件上创建的。
protected void Session_Start(object sender, EventArgs e)
{
Session.Add("testValue", "test");
}
在selecteindex更改事件时,我将设置新值,如下所示
Session["testValue"] = DropDownList.SelectedItem.Text;
我有一个web服务,我检索会话变量的值,像这样:
[WebMethod(EnableSession = true)]
public string getValue()
{
var testVal = Session["testValue"].ToString();
return testVal.ToString();
}
我从控制台应用程序连接到web服务并检索由getValue()
返回的值,但是初始值总是被返回。有什么想法吗?
这个问题是因为当控制台应用程序运行时,似乎创建了一个新的会话。使用应用状态使用应用。设置和应用。解决问题。希望我不会有问题,当系统将由多个用户使用。
检查下拉列表项的值是否不同。
这里的值没有改变,你没有改变值。所以没有期望
public string getValue()
{
var testVal = Session["testValue"].ToString();
return testVal.ToString();
}
错误可能在下拉列表
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
Session["testValue] = dropdownlist1.SelectedItem.text;
}
}
,
protected void dropdownlist1_SelectedIndexChanged(object sender, EventArgs e)
{
Session["testvalue"] = dropdownlist1.SelectedItem.text;
}
也试试
System.Web.HttpContext.Current.Session["testvalue"]