我想在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。
我想要做的是:当点击按钮(而不是列表视图上的按钮)时,页面重新加载并且焦点将停留在列表视图的按钮上。
非常感谢。
答案 0 :(得分:0)
答案 1 :(得分:0)
在按钮中单击“外部按钮的事件”,添加以下代码
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;";
}
}
答案 2 :(得分:0)
哦,我发现我可以使用SelectedIndex和Session变量来存储它:
选择项目时:
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();
}
所以我可以让我的列表视图显示我之前选择的内容,如确保可见。