Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.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# 我在第三次或第二次使用DropDownlist时出现以下错误&引用;无法加载正在加载的viewstate必须..”;_C#_Asp.net_Listview_Webforms_Ispostback - Fatal编程技术网

C# 我在第三次或第二次使用DropDownlist时出现以下错误&引用;无法加载正在加载的viewstate必须..”;

C# 我在第三次或第二次使用DropDownlist时出现以下错误&引用;无法加载正在加载的viewstate必须..”;,c#,asp.net,listview,webforms,ispostback,C#,Asp.net,Listview,Webforms,Ispostback,我有一个显示员工列表的“列表视图”和一个选择部门的“下拉列表”。当我第三次或第二次使用“DropDownlist”时,出现以下错误: “未能加载viewstate” 正在加载viewstate的控件树必须与上次请求期间用于保存“viewstate”的控件树匹配。例如,动态添加控件时,回发期间添加的控件必须与初始请求期间添加的控件的类型和位置匹配。” 这是asp.net网络表单,我必须使用这项技术,别无选择 namespace .Presentation.general { public par

我有一个显示员工列表的“列表视图”和一个选择部门的“下拉列表”。当我第三次或第二次使用“DropDownlist”时,出现以下错误:

“未能加载viewstate”

正在加载viewstate的控件树必须与上次请求期间用于保存“viewstate”的控件树匹配。例如,动态添加控件时,回发期间添加的控件必须与初始请求期间添加的控件的类型和位置匹配。”

这是asp.net网络表单,我必须使用这项技术,别无选择

namespace .Presentation.general
{

public partial class Listg : PageBase
{


    void Page_PreInit(Object sender, EventArgs e)
    {
        this.MasterPageFile = "~/App_MasterPages/empty.Master";
    }
    protected void Page_Init(object sender, EventArgs e)
    {


    }
    protected void Page_Load(object sender, EventArgs e)
    {


        if (!IsPostBack)
        {
            PopulateDepartmentsDropDownList();

            GeneralObjectDataSource.SelectParameters["Department"].DefaultValue = "";

            decimal presence = Convert.ToDecimal(Data.EmployeeDB.Create().GetCountEMPOnlineToday());

            decimal visibles = Convert.ToDecimal(Data.EmployeeDB.Create().GetCountVisiblesEmployees());
            visibles = (visibles == 0 ? 1 : visibles);
            PresenceLabel.Text = System.Math.Round((presence / visibles) * 100, 1).ToString() + "% " + string.Format(" ({0})", presence);



        }

    }

     public void Search(object sender, EventArgs e)
    {

        GeneralObjectDataSource.SelectParameters["name"].DefaultValue = Common.Converter.ConvertToFarsiYK(NameTextBox.Text.Trim());



        if (PresenceRadioBottonList.SelectedValue == "1")
        {
            GeneralObjectDataSource.SelectParameters["onlyPresence"].DefaultValue = "true";
        }
        else
        {
            GeneralObjectDataSource.SelectParameters["onlyPresence"].DefaultValue = "false";
        }

        DataListView.DataBind();
    }

    public void select_department_SelectedIndexChanged(object sender, EventArgs e)
    {

        GeneralObjectDataSource.SelectParameters["name"].DefaultValue = "";
        GeneralObjectDataSource.SelectParameters["Department"].DefaultValue = select_department.SelectedItem.Text;
        GeneralObjectDataSource.DataBind();


        DataListView.DataBind();


    }



    private void PopulateDepartmentsDropDownList()
    {
        select_department.DataSource = Biz.EmployeeBO.GetDepartments();
        select_department.DataTextField = "Name";
        select_department.DataValueField = "ID";
        select_department.DataBind();

        select_department.Items.Insert(0, new ListItem("", "0"));
        select_department.SelectedValue = Biz.Settings.SelectedDepartmentID;
    }
}
}

当您在开发时,这只是本地的吗?请尝试在
Page_PreInit
上添加
if(!IsPostBack)
,但我不记得这在PreInit上是否可用。谢谢。我通过为列表视图设置viewstate=false,为整个页面设置viewstate=true来解决此问题