Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.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# Web部件Sharepoint-下拉选择Indexchanged可设置可见性不工作_C#_Asp.net_Sharepoint_Web Parts - Fatal编程技术网

C# Web部件Sharepoint-下拉选择Indexchanged可设置可见性不工作

C# Web部件Sharepoint-下拉选择Indexchanged可设置可见性不工作,c#,asp.net,sharepoint,web-parts,C#,Asp.net,Sharepoint,Web Parts,我正在为sharepoint 2010开发一个web部件。我有一个事件的下拉列表。更改时,它应显示一个或另一个标签,具体取决于值,但这不起作用。我确实将autopostback设置为true,但我不希望每次单击下拉列表时都加载整个页面 protected override void CreateChildControls() { toolPartPanel = new Panel(); ddl = new DropDownList(); d

我正在为sharepoint 2010开发一个web部件。我有一个事件的下拉列表。更改时,它应显示一个或另一个标签,具体取决于值,但这不起作用。我确实将autopostback设置为true,但我不希望每次单击下拉列表时都加载整个页面

protected override void CreateChildControls()
    {
        toolPartPanel = new Panel();
        ddl = new DropDownList();
        ddl.ID = "ddl";
        ddl.SelectedIndexChanged += new EventHandler(ddl_SelectedIndexChanged);
        ddl.EnableViewState = true;
        ddl.Items.Add("a");
        ddl.Items.Add("b");

        label1 = new Label();
        label1.Text = "a selected";
        label1.Visible = false;

        label2 = new Label();
        label2.Text = "b selected";
        label2.Visible = false;

        this.Controls.Add(label1); this.Controls.Add(label2);
        this.Controls.Add(ddl);
        this.Controls.Add(toolPartPanel);
        base.CreateChildControls();
    }

    void ddl_SelectedIndexChanged(object sender, EventArgs e) 
    {
        Selected = ddl.SelectedValue.ToString();
        if (Selected == "a")
        {
            label1.Visible = true;
        }
        else
        {
            if (Selected == "b")
            {
                label2.Visible = true;
            }
        }
    }

您只需要将下拉列表包装在更新面板中

这似乎是一个很好的例子