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

C#如何将boolean值传递到视图用于条件校验

解决方案

1. 确认控制器赋值逻辑

首先检查控制器代码中是否完成了Model属性到ViewBag的赋值,示例参考:

// 从JSON API反序列化得到Model实例
var targetModel = JsonConvert.DeserializeObject<你的Model类名>(api返回的JSON内容);
// 显式将布尔属性赋值给ViewBag
ViewBag.boolean = targetModel.boolean;

2. 优化视图判断代码

使用可空值类型内置的GetValueOrDefault()方法替代手动三元判断,避免强转异常:

// 先将ViewBag值转为可空bool,空值默认返回false
bool test = (ViewBag.boolean as bool?).GetValueOrDefault();

if (test)
{
    <button type="submit" id="xxxx" class=""></button>
}

3. 修复JSON反序列化异常

如果上述步骤无效,检查API返回的JSON字段格式:

  • 若JSON中的boolean字段为字符串格式的"true"/"false",而非标准布尔值,修改处理逻辑:
// 修改Model属性定义
[JsonProperty("boolean")]
public string BooleanStr { get; set; }

// 赋值时做类型转换
ViewBag.boolean = bool.TryParse(targetModel.BooleanStr, out var result) && result;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 20:57:02