首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >c#中的访问器变异器返回错误的值

c#中的访问器变异器返回错误的值
EN

Stack Overflow用户
提问于 2014-07-04 06:54:01
回答 1查看 252关注 0票数 0

我使用asp.net(C#)中的访问器/变异器来赋值和获取值。

我有两件事:

代码语言:javascript
运行
复制
protected void ddlDepartments_SelectedIndexChanged(object sender, EventArgs e)
{
    accessVariables.DepID = Convert.ToInt32(ddlDepartments.SelectedValue);
}
protected void chkIsHead_CheckedChanged(object sender, EventArgs e)
{
    Response.Write(accessVariables.DepID);
}

它称之为:

代码语言:javascript
运行
复制
public class AccessibleVariables
{
    public int depID { get; set; }
    public int DepID 
    {
        get { return depID; }
        set { depID = value; }
    }
 }

第二个事件返回0,为什么?我运行了调试器,我检查了,(set)分配了真正的值,这很完美,但是get不返回实值,它总是返回0,为什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-04 06:55:34

由于http是无状态协议,因此在postback中asp.net中不维护属性值。您可以使用ViewState在回发之间保存值。您可以在ViewState上创建一个int属性,它将从getter返回int并接受int设置ViewState

代码语言:javascript
运行
复制
ViewState["depID"] = "0";   
public int AccessibleVariables
{
    get { return (int) ViewState["depID"]; }
    set { ViewState["depID"] = value; }
}

ViewState

简单地说,微软ASP.NET视图状态是ASP.NET网页使用的技术,用于通过回发将更改保存到Web窗体的状态。

无国籍议定书

在计算中,无状态协议是一种通信协议,它将每个请求作为一个独立的事务处理,该事务与任何先前的请求无关,因此通信由独立的请求和响应对组成。无状态协议不要求服务器在多个请求期间保留有关每个通信伙伴的会话信息或状态。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24568281

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档