如何在ASCX文件中根据Grid绑定值动态输出A/B对应文本?
这个动态渲染需求完全可以实现,你的原有写法出错是因为内联绑定表达式的语法不规范,核心问题是混用语法规则、字符串未加引号、类型匹配逻辑缺失。
你原有代码里写了Then关键字,说明你用的是VB.NET的语法环境,正确写法如下:
<p> The letter should be <%# If(Eval("Code").ToString() = "A", "A", "B") %> </p>
如果你的后台是C#语法环境,改用以下写法:
<p> The letter should be <%# Eval("Code").ToString() == "A" ? "A" : "B" %> </p>
补充注意事项
- 直接用
Eval("字段名")可以代替冗长的DataBinder.Eval(Container.DataItem, "字段名"),Web Form数据绑定上下文默认支持该简写 - 建议加空值判断避免字段为空时报错,VB.NET写法参考:
C#写法参考:<p> The letter should be <%# If(If(Eval("Code"),"").ToString() = "A", "A", "B") %> </p><p> The letter should be <%# (Eval("Code")?.ToString() ?? "") == "A" ? "A" : "B" %> </p>
内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

