Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET RadioButton列表帮助。如果我设置selectedItem,则该项不会';无法对SelectedIndexChanged事件作出反应_C#_Asp.net_Asp.net Ajax_Radiobuttonlist - Fatal编程技术网

C# ASP.NET RadioButton列表帮助。如果我设置selectedItem,则该项不会';无法对SelectedIndexChanged事件作出反应

C# ASP.NET RadioButton列表帮助。如果我设置selectedItem,则该项不会';无法对SelectedIndexChanged事件作出反应,c#,asp.net,asp.net-ajax,radiobuttonlist,C#,Asp.net,Asp.net Ajax,Radiobuttonlist,我的网络表单上有一个RadioButton列表。我尝试了两种不同的方法来设置所选项目。我尝试了标记和代码,比如页面加载事件。它设置和显示正确。我的问题是所选单选按钮不再响应SelectedIndexChanged事件。其他项目按预期工作,如果我删除设置selectedItem的代码,则单选按钮按预期工作。是否有任何方法可以通过代码设置单选按钮,而它的行为仍与我预期的一样。我猜,如果你强制选择一个按钮,那么它不会改变。有没有人知道如何记住它,这样我就可以默认选择它,但仍然让它按照我想要的方式运行

我的网络表单上有一个RadioButton列表。我尝试了两种不同的方法来设置所选项目。我尝试了标记和代码,比如页面加载事件。它设置和显示正确。我的问题是所选单选按钮不再响应SelectedIndexChanged事件。其他项目按预期工作,如果我删除设置selectedItem的代码,则单选按钮按预期工作。是否有任何方法可以通过代码设置单选按钮,而它的行为仍与我预期的一样。我猜,如果你强制选择一个按钮,那么它不会改变。有没有人知道如何记住它,这样我就可以默认选择它,但仍然让它按照我想要的方式运行

 <asp:RadioButtonList ID="rblPaymentType" runat="server" AutoPostBack="True" RepeatDirection="Horizontal"
            RepeatLayout="Flow">
            <asp:ListItem Value="benefit" Text="Benefit" Selected="True"/>
            <asp:ListItem Value="expense" Text="Expense" />
        </asp:RadioButtonList>
然后在aspx上,我将处理程序函数连接到该事件

if (header is PaymentHeader)
                (header as PaymentHeader).SwitchedBenefit += (paymentForm as PaymentBaseControl).Update;
最后是处理函数

public override void Update(object sender, EventArgs e)
    {
        if (sender is RadioButtonList)
        {
            IsExpense = (sender as RadioButtonList).SelectedValue == "expense";
            UpdateCalcFlag();
            UpdateDropDownDataSources();
            UpdatePaymentTypeDropDown();
            ResetBenefitLabels();
            FormatAmountTextBox();
        }
    }
我希望这是足够的代码。当我没有在RadioButtonList中设置SelectedItem时,一切都很好,但我需要设置它

这里有一个指向有同样问题的人的链接。它与ASP.NET AJAX相关。 谢谢 ~ck在圣地亚哥

试试这个:

radiobutton.Items.FindByText("VALUE").Selected = true;
试试这个:

radiobutton.Items.FindByText("VALUE").Selected = true;

很难说没有看到你的代码。您能发布与您的问题相关的代码片段吗?您的意思是,如果您单击任何其他单选按钮,但即使您单击上一个预选按钮,事件也会触发?@Yadyn-是的,这是正确的。我认为我们将需要更多的代码。我在这里工作的系统中有一个页面,几乎有一个相同的RadioButtonList。流布局,水平,带有两个标记内列表项,第一个通过标记选择。SelectedIndexChanged工作正常。现在,也许您只是将其排除在示例之外,但您确定要为SelectedIndexChanged附加事件处理程序吗?我在您的标记中没有看到任何事件处理程序,所以您是在页面加载还是其他方式中执行此操作?@Yadyn-是的,SelectedIndexChanged的声明性标记上没有声明任何事件处理程序。如果没有看到您的代码,很难说。您能发布与您的问题相关的代码片段吗?您的意思是,如果您单击任何其他单选按钮,但即使您单击上一个预选按钮,事件也会触发?@Yadyn-是的,这是正确的。我认为我们将需要更多的代码。我在这里工作的系统中有一个页面,几乎有一个相同的RadioButtonList。流布局,水平,带有两个标记内列表项,第一个通过标记选择。SelectedIndexChanged工作正常。现在,也许您只是将其排除在示例之外,但您确定要为SelectedIndexChanged附加事件处理程序吗?我在您的标记中没有看到一个事件处理程序,所以您是在页面加载中还是在做什么?@Yadyn-是的,SelectedIndexChanged的声明性标记上没有声明任何事件处理程序。