ASP.Net C#如何在Listview中查找控件
我想在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
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”?请选择此链接