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

.NET Core页面加载绑定数据库值到固定下拉框遇RZ1031报错解决

解决RZ1031错误并实现下拉框绑定

错误原因

RZ1031错误是因为你在<option>标签的属性声明区域直接嵌入了C#表达式(比如手动写selected="@(Model.Value == "No")"),而ASP.NET Core的option标签助手不允许这种写法。


原生ASP.NET Core解决方案(推荐)

方案1:使用Select Tag Helper自动绑定

  1. 确保你的Model包含选中值属性和选项集合(可选):
public class YourModel
{
    // 从数据库读取并赋值的选中值
    public string SelectedOption { get; set; }
    
    // 固定选项集合(也可以在View中直接定义)
    public List<SelectListItem> Options => new List<SelectListItem>
    {
        new SelectListItem { Text = "Yes", Value = "Yes" },
        new SelectListItem { Text = "No", Value = "No" },
        new SelectListItem { Text = "Ask Me", Value = "Ask Me" }
    };
}
  1. 在View中使用Select Tag Helper:
<select asp-for="SelectedOption" asp-items="Model.Options" class="form-control"></select>

框架会自动根据Model.SelectedOption的值匹配并选中对应的选项,无需手动编写选中逻辑,彻底避免RZ1031错误。

方案2:无需Model选项集合的Tag Helper写法

如果不想在Model中定义选项集合,直接在View中写固定选项,asp-for依然会自动处理选中状态:

<select asp-for="SelectedOption" class="form-control">
    <option value="Yes">Yes</option>
    <option value="No">No</option>
    <option value="Ask Me">Ask Me</option>
</select>

方案3:使用Html.DropDownListFor辅助方法

如果习惯使用传统的HTML辅助方法,也可以这样写:

@Html.DropDownListFor(m => m.SelectedOption, new List<SelectListItem>
{
    new SelectListItem { Text = "Yes", Value = "Yes" },
    new SelectListItem { Text = "No", Value = "No" },
    new SelectListItem { Text = "Ask Me", Value = "Ask Me" }
}, new { @class = "form-control" })

该方法会自动根据Model值设置选中项,不会触发RZ1031错误。


jQuery实现方案

如果需要用前端脚本控制选中状态,可在页面加载后根据Model值设置:

<select id="optionSelect" class="form-control">
    <option value="Yes">Yes</option>
    <option value="No">No</option>
    <option value="Ask Me">Ask Me</option>
</select>

<script>
$(document).ready(function() {
    // 安全获取Model中的选中值(处理特殊字符转义)
    var selectedValue = @Html.Raw(Json.Encode(Model.SelectedOption));
    // 设置下拉框选中对应值
    $('#optionSelect').val(selectedValue);
});
</script>

如果确定Model值不含特殊字符,也可以简化为:

var selectedValue = '@Model.SelectedOption';

内容的提问来源于stack exchange,提问作者Ezhil

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 08:50:17