我正在尝试从Radiobutton列表中检测回发。 我正在尝试使用以下代码:
If Page.Request.Params.Get("__EVENTTARGET") = optDownload.UniqueID.ToString Then
但是Page.Request.Params.Get("__EVENTTARGET")
会返回
“ctl00 $ $ ContentPlaceHolder1 $ pnlBarAccounts I0 $ $ I2 I0 $ $ CHChecking $ Acct1 $ optDownload 4”
optDownload.UniqueID.ToString
返回
“ctl00 $ $ ContentPlaceHolder1 $ pnlBarAccounts I0 $ $ I2 I0 $ $ CHChecking $ Acct1 optDownload”
最后2个字符有差异,如何从Radiobutton列表中检测到回发?
答案 0 :(得分:1)
我假设4美元与选择无线电选项的索引有关。
只需使用字符串contains函数,即
if (Page.Request.Params.Get("__EVENTTARGET").Contains(optDownload.UniqueID.ToString))
{
// Radio list caused the postback
}
无论如何,这非常糟糕。你应该在RadioButtonList
上倾听这个事件。挂钩SelectedIndexChange
事件。
RadioButtonList list = new RadioButtonList();
list.SelectedIndexChanged += new EventHandler(list_SelectedIndexChanged);
protected void list_SelectedIndexChanged(object sender, EventArgs e)
{
// Your radio button fired the postback
}
这样可行,但听起来你正在修理错误的问题,无论出于什么原因,如果列表导致回发,你需要知道。
答案 1 :(得分:0)
RadioButtonList是否有可以收听的事件?