Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#中的访问器变量返回错误的值_C#_Asp.net_.net - Fatal编程技术网

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

c#中的访问器变量返回错误的值,c#,asp.net,.net,C#,Asp.net,.net,我使用asp.net(C#)中的访问器/变异器来赋值和获取值 我有两件事: protected void ddlDepartments_SelectedIndexChanged(object sender, EventArgs e) { accessVariables.DepID = Convert.ToInt32(ddlDepartments.SelectedValue); } protected void chkIsHead_CheckedChanged(object sender,

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

我有两件事:

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);
}
它称之为:

public class AccessibleVariables
{
    public int depID { get; set; }
    public int DepID 
    {
        get { return depID; }
        set { depID = value; }
    }
 }
第二个事件返回0,为什么?
我运行了调试器,我检查了,(set)分配了实值,这很完美,但是get不返回实值,它总是返回0,为什么?

由于http是无状态协议,属性的值不在asp.net中的
回发中维护。您可以使用
ViewState
在回发之间保留值。您可以在ViewState上创建一个int属性,该属性将从getter返回int并获取int以设置
ViewState

ViewState["depID"] = "0";   
public int AccessibleVariables
{
    get { return (int) ViewState["depID"]; }
    set { ViewState["depID"] = value; }
}

简而言之,Microsoft®ASP.NET视图状态是 用于保存对Web窗体状态的更改的ASP.NET网页 跨越回发邮件

在计算中,无状态协议是一种通信协议,它 将每个请求视为独立事务,与 任何先前的请求,以便通信由独立的 成对的请求和响应。无状态协议不需要 用于保留每个会话的会话信息或状态的服务器 多个请求期间的通信伙伴


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

ViewState["depID"] = "0";   
public int AccessibleVariables
{
    get { return (int) ViewState["depID"]; }
    set { ViewState["depID"] = value; }
}

简而言之,Microsoft®ASP.NET视图状态是 用于保存对Web窗体状态的更改的ASP.NET网页 跨越回发邮件

在计算中,无状态协议是一种通信协议,它 将每个请求视为独立事务,与 任何先前的请求,以便通信由独立的 成对的请求和响应。无状态协议不需要 用于保留每个会话的会话信息或状态的服务器 多个请求期间的通信伙伴


奇怪的是,你有两个公共财产,基本上都被命名为同一个东西。您的AccessibleVariables可以简化为
公共类AccessibleVariables{public int DeptID{get;set;}}
那么MSDN犯了同样的奇怪错误,兄弟@user3518032:您正在查看.NET 1.1文档。它已经有十多年的历史了。而且,他们的第一个是
private
——这是在属性语法糖出现之前的做法:
private int\u depID;public int-DepID{get{return{u-DepID;}set{u-DepID=value};}
总之,与你的问题并不相关。你有两个公共属性,基本上命名为同一个东西,这有点奇怪。您的AccessibleVariables可以简化为
公共类AccessibleVariables{public int DeptID{get;set;}}
那么MSDN犯了同样的奇怪错误,兄弟@user3518032:您正在查看.NET 1.1文档。它已经有十多年的历史了。而且,他们的第一个是
private
——这是在属性语法糖出现之前的做法:
private int\u depID;public int-DepID{get{return{u-DepID;}set{{u-DepID=value};}
总之,这与您的问题并不相关。