關於動態生成列的DATAGRID不能出發模板列的時間問題

在動態生成列的datagrid裏,如果在模板列放了個imagebutton,你在ITEM command裏寫上IBTN的click時間是出發不了的, 一個解決方法是直接在HTML裏放上個onclick("FunctionName"),然後在CS文件裏寫FunctionName的方法。如下:

html裏:

<asp:ImageButton id="ibtDel" οnclick="ibtDel_Click" runat="server" ImageUrl="../Images/dgdel.gif"></asp:ImageButton>

cs裏: 注意一定要public 不要private

 

public void ibtDel_Click(object Sender,System.Web.UI.ImageClickEventArgs e)
  {

}

這樣是解決了促發時間問題, 但如果要取當前行的一些參數, 那就藉助imagebutton的CommandArgs來傳遞。

首先 在ItemDataBound事件裏把要傳的參數放到CommandArgs,

if(e.Item.ItemType != ListItemType.Header && e.Item.ItemType != ListItemType.Footer)
   {
    ImageButton ibtDel = (ImageButton)e.Item.Cells[0].FindControl("ibtDel");
    ibtDel.Attributes.Add("onclick","javascript:return confirm('你是否真的要刪除嗎?')");
    ibtDel.CommandArgument = e.Item.Cells[1].Text;
   }

 

然後在事件函數裏可以用了

public void ibtDel_Click(object Sender,System.Web.UI.ImageClickEventArgs e)
  {

string Astid = ((ImageButton)Sender).CommandArgument;

}

發佈了25 篇原創文章 · 獲贊 0 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章