输入字符串的格式不正确(单选按钮列表)asp.net

Input string not in correct format (Radiobuttonlist) asp.net

我正在尝试从单选按钮中检索文本以用于我的 sql 查询。 我输入了这个:

 int cardtype = int.Parse(rbcard.SelectedItem.Text);

出现错误

 Input string not in correct format

好像是什么问题?

假设单选按钮列表如下所示:

 <asp:RadioButtonList ID="rdID" runat="server">

<asp:ListItem Text ="Item1" Value="1" />
<asp:ListItem Text ="Item2" Value="2" />
<asp:ListItem Text ="Item3" Value="3" />
<asp:ListItem Text ="Item4" Value="4" />

</asp:RadioButtonList>

然后获取选定的值:

string selectedValue = rdID.SelectedValue;
        Response.Write(selectedValue);

然后在将值作为字符串获取后,您可以将其解析为 int 如下:

int x = Int32.Parse(selectedValue );

希望对您有所帮助

看起来您实际上是在尝试解析单选按钮列表项的文本而不是值。

你的代码对我来说看起来是正确的,我只是确保你在尝试解析 int 之前检查是否选择了一个项目。

HTML

<asp:RadioButtonList ID="rbcard" runat="server">

<asp:ListItem Text ="1" Value="1" />
<asp:ListItem Text ="2" Value="2" />
<asp:ListItem Text ="3" Value="3" />
<asp:ListItem Text ="4" Value="4" />

</asp:RadioButtonList>

<asp:Button ID="btn1" runat="server" OnClick="Button1_Click" Text="select value" />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>

代码隐藏

protected void Button1_Click(object sender, EventArgs e)
    {
        if (rbcard.SelectedItem != null)
        {
            int cardtype = int.Parse(rbcard.SelectedItem.Text);
            Label1.Text = "You Selected: " + cardtype;
        }
    }