2017-09-25 45 views
1

我想找到一個列表視圖的選定行的控制,我可以做這樣的事情:ASP.Net C#如何找到在列表視圖控制

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

我希望它可以在listview上完成indexchanged – ZephyrLee

回答

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;"; 


       } 
    } 
+0

感謝您的回覆。但我不明白這一點:DropDownList innerDropdown =(DropDownList)row.FindControl(「innedDropedDOwnID」);並且在行上有一個編譯錯誤(我將它改爲Item可能是因爲它不是DropDownList?)而且我認爲應該有類似「If(MyListView.selected)」的東西? – ZephyrLee

+0

我編輯我的代碼,我刪除它..你也可以刪除它,它將工作 –

+0

獲取選定的項目,你可以看到它https://forums.asp.net/t/1738500.aspx?How+to+get +選擇+項目+索引+在列表視圖 –

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(); 
    } 

因此,我可以讓我的列表視圖顯示我的選擇像以前一樣ensurevisible做。

相關問題