人生求的是什麼,平平淡淡的日子,快快樂樂的生活。 我只是一個平凡的小人物,熱愛每一天,但人生總有喜怒哀樂、 酸甜苦辣,不是想分什麼偉大經驗,只是認真的記錄我的生活。 用我的經驗與你交流。
2020年2月14日 星期五
[Asp.Net]CheckBoxList的應用
在存取 CheckBoxList 時,發現不是只用 SelectedIndexChanged 取的SelectedValue
就好,因為它有[覆選。
不能當做RadioButtonList 用
本來是想找找看有沒有checked 這樣的東西,看來是沒有
突然靈光一閃,應該是所有的選項 都要掃一遍。
所以重新整理如下:
private void chk_SelectedIndexChanged(object sender, EventArgs e)
{
CheckBoxList chk = (CheckBoxList)sender;
string bank_id = chk.ID;
//刪除所有存檔的資料
Transcript.Row_Del(string.Format(" bank_id = '{0}' ", bank_id));
foreach (ListItem s in chk.Items)
{
if (s.Selected) //s.Selected 就是html 的checked 用在這裡
{ //新增
add_transcript(bank_id, s.Value, "m");
}
}
}
2020年2月13日 星期四
[ASP.NET]在UpdatePanel中 動態產生Trigger
常常在網頁中 動能新增event
但遇上UpdatePanel 是一個困擾
當我動態新增Trigger,系統只會作用一次
後來參考ASP.net,C#,在UpdatePanel中動態加入Trigger
原來是因為Trigger掉了
所以重新將Trigger加入 PageLoad 即可
if (this.ScriptManager1.IsInAsyncPostBack)
{
UpdatePanel1.GetType().GetMethod("Initialize", BindingFlags.NonPublic | BindingFlags.Instance).Invoke(UpdatePanel1, null);
}
//==========================================================
範列
AsyncPostBackTrigger trigger = new AsyncPostBackTrigger();
CheckBoxList chk = new CheckBoxList();
chk.ID = ds["rowno"].ToString();
chk.RepeatDirection = RepeatDirection.Horizontal;
chk.AutoPostBack = true;
chk.SelectedIndexChanged += new EventHandler(chk_SelectedIndexChanged);
trigger.ControlID = chk.ID; //要偵測的物件ID
trigger.EventName = "SelectedIndexChanged"; //Button的觸發事件為Click
up_list.Triggers.Add(trigger); //UpdatePanel
string[] itmes = item.Split('|');
int i = 0;
foreach (string s in itmes)
{
string[] o = s.Split(',');
ListItem litem = new ListItem(o[0], o[1]);
if (i == 0)
{
litem.Selected = true;
}
if (getSelected(ds["rowno"].ToString(), o[1]))
{
litem.Selected = true;
}
chk.Items.Add(litem);
i++;
}
td2.Controls.Add(chk); //Panel
p_list.Controls.Add(td2); //Panel
但遇上UpdatePanel 是一個困擾
當我動態新增Trigger,系統只會作用一次
後來參考ASP.net,C#,在UpdatePanel中動態加入Trigger
原來是因為Trigger掉了
所以重新將Trigger加入 PageLoad 即可
if (this.ScriptManager1.IsInAsyncPostBack)
{
UpdatePanel1.GetType().GetMethod("Initialize", BindingFlags.NonPublic | BindingFlags.Instance).Invoke(UpdatePanel1, null);
}
//==========================================================
範列
AsyncPostBackTrigger trigger = new AsyncPostBackTrigger();
CheckBoxList chk = new CheckBoxList();
chk.ID = ds["rowno"].ToString();
chk.RepeatDirection = RepeatDirection.Horizontal;
chk.AutoPostBack = true;
chk.SelectedIndexChanged += new EventHandler(chk_SelectedIndexChanged);
trigger.ControlID = chk.ID; //要偵測的物件ID
trigger.EventName = "SelectedIndexChanged"; //Button的觸發事件為Click
up_list.Triggers.Add(trigger); //UpdatePanel
string[] itmes = item.Split('|');
int i = 0;
foreach (string s in itmes)
{
string[] o = s.Split(',');
ListItem litem = new ListItem(o[0], o[1]);
if (i == 0)
{
litem.Selected = true;
}
if (getSelected(ds["rowno"].ToString(), o[1]))
{
litem.Selected = true;
}
chk.Items.Add(litem);
i++;
}
td2.Controls.Add(chk); //Panel
p_list.Controls.Add(td2); //Panel
訂閱:
文章 (Atom)