Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.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/3/xpath/2.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
ASP.Net C#如何在Listview中查找控件_C#_Asp.net_Listview - Fatal编程技术网

ASP.Net C#如何在Listview中查找控件

ASP.Net C#如何在Listview中查找控件,c#,asp.net,listview,C#,Asp.net,Listview,我想在listview的选定行中查找控件,可以执行以下操作: lv_ListviewTest.Items(lv_ListviewTest.SelectedIndex).FindControl("ControlName") 我所拥有的是: if (e.CommandName == "Select") { var ctrl = (HtmlContainerControl)e.Item.FindControl("area"); ctrl

我想在listview的选定行中查找控件,可以执行以下操作:

lv_ListviewTest.Items(lv_ListviewTest.SelectedIndex).FindControl("ControlName")
我所拥有的是:

if (e.CommandName == "Select")
        {
            var ctrl = (HtmlContainerControl)e.Item.FindControl("area");
            ctrl.Attributes["style"] = "background-color:LightSkyBlue; color:Black; padding:0px;";

        }
我可以在Itemcommand上完成,但我不知道如何在页面重新加载时触发Itemcommand

我想做的是:当一个按钮(不是listview上的按钮)被点击时,页面将重新加载,焦点将停止在listview的按钮上


非常感谢。

您可以在URL下面找到它们


您可以在URL下面找到它们


在外部按钮单击事件中添加以下代码

 protected void MyButton_Click(object sender, EventArgs e)
    {
        foreach (ListViewItem  item in MyListView.Items)
                {

                    var ctrl = (HtmlContainerControl)item.FindControl("area");
                    ctrl.Attributes["style"] = "background-color:LightSkyBlue; color:Black; padding:0px;";


                }
    }

在外部按钮的按钮点击事件中添加以下代码

 protected void MyButton_Click(object sender, EventArgs e)
    {
        foreach (ListViewItem  item in MyListView.Items)
                {

                    var ctrl = (HtmlContainerControl)item.FindControl("area");
                    ctrl.Attributes["style"] = "background-color:LightSkyBlue; color:Black; padding:0px;";


                }
    }

哦,我发现我可以使用SelectedIndex和会话变量来存储它:

选择项目时:

protected void lv_ListviewTest_SelectedIndexChanged(object sender, EventArgs e)
    {
        Session["SelectedIndex"] = lv_ListviewTest.SelectedIndex;
    }
当另一个按钮单击时:

protected void cmd_OtherButton_Click(object sender, EventArgs e)
    {
        ...............
        Button focusbutton = (Button)lv_ListviewTest.Items[Convert.ToInt16(Session["SelectedIndex"])].FindControl("MyControlLabel");
        focusbutton.Focus();
    }

所以我可以让我的listview显示我以前选择的内容,就像EnsureRevible一样。

哦,我发现我可以使用SelectedIndex和会话变量来存储它:

选择项目时:

protected void lv_ListviewTest_SelectedIndexChanged(object sender, EventArgs e)
    {
        Session["SelectedIndex"] = lv_ListviewTest.SelectedIndex;
    }
当另一个按钮单击时:

protected void cmd_OtherButton_Click(object sender, EventArgs e)
    {
        ...............
        Button focusbutton = (Button)lv_ListviewTest.Items[Convert.ToInt16(Session["SelectedIndex"])].FindControl("MyControlLabel");
        focusbutton.Focus();
    }

因此,我可以让我的listview显示我之前选择的内容,如EnsureRevisible所做的。

在何种情况下,您希望从listview中查找控件,我希望可以在listview中查找控件,而在何种情况下,您希望从listview中查找控件,我希望可以在listview中查找控件,而在itemcommand中查找控件,但我想在Indexchange上做。让我在我的问题中添加一些代码…实际上我可以在itemcommand上做,但我想在indexchanged上做。让我在我的问题中添加一些代码…谢谢你的回复。但我不明白这一点:DropDownList innerDropdown=(DropDownList)row.FindControl(“InnedDropDownId”);第行有一个编译错误(我把它改为Item可能是因为它不是DropDownList?),我想应该有类似“If(MyListView.selected)”的东西?我已经编辑了我的代码并删除了它。你也可以删除它。它将用于获取选中的项。你可以看到它,对不起,不了解javascript,setVal将始终弹出“1”?请选择此链接,谢谢您的回复。但我不明白这一点:DropDownList innerDropdown=(DropDownList)row.FindControl(“InnedDropDownId”);第行有一个编译错误(我把它改为Item可能是因为它不是DropDownList?),我想应该有类似“If(MyListView.selected)”的东西?我已经编辑了我的代码并删除了它。你也可以删除它。它将用于获取选中的项。你可以看到它,对不起,不了解javascript,setVal将始终弹出“1”?请选择此链接