【问题标题】:How to add a datacolumn with a expression which should have a ternary operator如何使用应该具有三元运算符的表达式添加数据列
【发布时间】:2014-09-26 07:53:04
【问题描述】:

我有以下代码应该将数据列添加到现有数据表中。

基本上逻辑是,如果字段 Filename 等于 DispForm,那么它应该打印 #,但如果不是,则在该数据列上打印 Path。

但是我得到了这个错误:

语法错误:在“=”运算符之前缺少操作数。

var fileNameUrl = new DataColumn("FileNameUrl")
{
    Expression = String.Format("[{0}] == 'DispForm.aspx' ? '#' : [{1}]", "FileName", "Path")
};
resultingDataTable.Columns.Add(fileNameUrl);

【问题讨论】:

    标签: c# asp.net asp.net-mvc-4


    【解决方案1】:

    您应该使用签名为IIf(expr, truepart, falsepart)IFF函数

    var fileNameUrl = new DataColumn("FileNameUrl")
    {
        Expression = "IIF( [FileName] = 'DispForm.aspx' , '#' , [Path])"
    };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-21
      • 1970-01-01
      • 2016-04-06
      • 2014-11-13
      • 2022-01-21
      相关资源
      最近更新 更多