从radiobutton列表中检测回发

时间:2010-05-13 14:36:22

标签: .net

我正在尝试从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列表中检测到回发?

2 个答案:

答案 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是否有可以收听的事件?