我有radiobuttonlist,我已设置为autopostback,但是当用户单击按钮时,没有回发。ASP.NET Radiobutton列表设置为autopostback但不回发,如果所选项目发生变化
有什么建议吗?
我有radiobuttonlist,我已设置为autopostback,但是当用户单击按钮时,没有回发。ASP.NET Radiobutton列表设置为autopostback但不回发,如果所选项目发生变化
有什么建议吗?
我假设“当用户点击一个按钮”时,你的意思是当用户单击其中一个单选按钮选项时。没有看到任何代码,两种常见情况是:
如果是后一种情况下,你正在使用的UpdatePanel,尝试把在RadioButtonList自己的UpdatePanel内,用的AutoPostBack设置为true的RadioButtonList和UpdatePanel上的UpdateMode设置为“始终”(de故障值)。
我发现设置一个单选按钮的Checked
状态为false
属于一个组的单选按钮导致单选按钮AutoPostBack="true"
不触发回发。
例如:
标记
<asp:RadioButton ID="radioButton1" runat="server" GroupName="Group1" AutoPostBack="true" OnCheckedChanged="radioButton1_Click" />
<asp:RadioButton ID="radioButton2" runat="server" GroupName="Group1" AutoPostBack="true" OnCheckedChanged="radioButton2_Click" />
<asp:RadioButton ID="radioButton3" runat="server" GroupName="Group1" AutoPostBack="true" OnCheckedChanged="radioButton3_Click" />
代码
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
radioButton1.Checked = true;
radioButton2.Checked = false; // don't do this!
radioButton3.Checked = false; // don't do this!
}
}
离开的最后两个任务了。
我发现,如果默认单选按钮为Checked = true,则浏览器在呈现页面时不会设置单选按钮的onclick属性。
最好的解决方案似乎是手动添加属性,或者设置单选按钮以在页面呈现后进行检查。
对这个问题到目前为止,我已经找到了最好的讨论可以在 http://forums.asp.net/t/965667.aspx/1
找到了在我后面的代码设置选择的值设置为true,当我有同样的问题。
rdoProjectType.Items.FindByValue("Fixed Fee").Selected = True
这实际上导致回发的javascript根本无法呈现。奇怪的!我通过使用控件的.SelectedIndex方法来解决问题,以打开适当的单选按钮。我相信你也可以使用.SelectedValue。
你可以发布代码吗? – IrishChieftain 2010-09-29 16:58:32