You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C#文件中获取Radio输入值并保存至SQL数据库?

嘿,我来帮你搞定这个问题!下面是获取Radio控件值并将评分保存到SQL数据库的详细步骤:

获取Radio控件值并保存到SQL数据库的实现方案

首先看你的ASPX代码,这些是HTML原生的Radio按钮,没有设置runat="server",我给你两种获取值的方式,再讲如何安全保存到数据库:

一、获取选中的Radio评分值

方式1:通过Request.Form直接获取(适合原生HTML控件)

因为所有Radio的name属性都是rating,后台C#代码里可以直接通过Request.Form拿到选中的值:

// 获取选中的评分值
string selectedRating = Request.Form["rating"];

// 先判断用户是否选择了评分,避免空值报错
if (!string.IsNullOrEmpty(selectedRating))
{
    int ratingValue = int.Parse(selectedRating);
    // 拿到值后就可以准备存数据库了
}

方式2:转为服务器控件操作(更贴合Web Forms习惯)

如果想直接用服务器控件的属性操作,可以给每个Radio加上runat="server",修改后的ASPX代码示例:

<li>
    <fieldset class="rating"> 
        <legend>Please rate:</legend> 
        <input type="radio" id="star5" name="rating" value="5" runat="server" />
        <label for="star5" title="Rocks!">5 stars</label> 
        <input type="radio" id="star4" name="rating" value="4" runat="server" />
        <label for="star4" title="Pretty good">4 stars</label>
        <!-- 剩下的star3/star2/star1同理加上runat="server" -->
    </fieldset>
</li>

然后在后台代码里判断哪个Radio被选中:

int ratingValue = 0;
if (star5.Checked)
{
    ratingValue = 5;
}
else if (star4.Checked)
{
    ratingValue = 4;
}
// 依次判断star3、star2、star1的选中状态

if (ratingValue > 0)
{
    // 确认有选中值后,执行数据库保存逻辑
}

二、将评分值安全保存到SQL数据库

这里必须用参数化查询,绝对不能直接把值拼进SQL语句,否则会有SQL注入风险,示例代码如下:

// 替换成你实际获取到的评分值
int ratingValue = 5;

// 替换成你的SQL服务器连接字符串
string connectionString = "Server=你的服务器地址;Database=你的数据库名;User Id=用户名;Password=密码;";

// 使用using语句自动释放数据库连接资源
using (SqlConnection conn = new SqlConnection(connectionString))
{
    // 替换成你的表名和字段名
    string sql = "INSERT INTO 评分表 (用户评分) VALUES (@Rating)";
    
    using (SqlCommand cmd = new SqlCommand(sql, conn))
    {
        // 添加参数,指定数据类型和值
        cmd.Parameters.Add("@Rating", SqlDbType.Int).Value = ratingValue;
        
        conn.Open();
        // 执行插入操作,返回受影响的行数
        int rowsAffected = cmd.ExecuteNonQuery();
        
        if (rowsAffected > 0)
        {
            // 插入成功的逻辑,比如给用户提示
        }
    }
}

额外注意事项

  • 一定要做空值校验:如果用户没选任何Radio就提交,Request.Form["rating"]会返回null,直接转换会报错,所以必须先判断。
  • 如果你用的是Web Forms,也可以直接使用RadioButtonList控件,这样获取选中值更简单,只需要RadioButtonList1.SelectedValue就能拿到值。

内容的提问来源于stack exchange,提问作者Oz Cohen Matzliah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 04:10:53