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

使用ASPX表达式引用RadioButtonList值时出现解析错误求助

ASPX绑定表达式IIf解析错误的解决方案

问题根源

IIf是VB的旧式函数,在ASPX服务器控件的绑定表达式中会触发解析错误,需替换为VB原生的If运算符(支持短路求值,适配ASPX解析机制),或C#的三元条件运算符?:。

另外原代码中<asp:RadioButtonList>标签缺失闭合的>,属于语法疏漏,需补全。

修正后的代码

VB环境

<asp:RadioButtonList ID="rblApprovalSelection" runat="server">
    <asp:ListItem Value="1">Item1</asp:ListItem>
    <asp:ListItem Value="2">Item2</asp:ListItem>
    <asp:ListItem Value="3" Selected="True">Item3</asp:ListItem>
    <asp:ListItem Value="4">Item4</asp:ListItem>
    <asp:ListItem Value="5">Item5</asp:ListItem>
</asp:RadioButtonList>

<asp:BoundField DataField="MyData" 
    Visible='<%# If(rblApprovalSelection.SelectedItem.Value = "3", False, True) %>'
    HeaderText="DataHeader" />

注意:SelectedItem.Value是字符串类型,判断时需用"3"而非数字3,避免类型不匹配问题。

C#环境

若项目基于C#,绑定表达式需调整为:

<asp:BoundField DataField="MyData" 
    Visible='<%# rblApprovalSelection.SelectedItem.Value == "3" ? false : true %>'
    HeaderText="DataHeader" />

关键说明

ASPX引擎对绑定表达式的语法解析要求严格,IIf作为传统函数无法被正确识别,而If(VB)或三元运算符(C#)是语言内置的条件语法,能被引擎正确解析执行,同时支持更安全的类型检查与短路逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 21:15:12