【问题标题】:string format escape sequence字符串格式转义序列
【发布时间】:2015-06-03 09:46:46
【问题描述】:

我有一个网络方法,我从中获取一条记录并显示在我的 asp:label 中。

我的 WebMethod 中有一个 List<string>,在读取数据时,我将其转换为 String.Format

while(dr.Read())
{
    rst.Add(string.Format("{0}",dr["Practice_short_name"]));
}

但是,当我在标签中显示数据时,我得到了这个:

[“CEC2”]

但我希望它是这样的:

CEC2

如何从我的输出中排除括号 [] 和 ""?

【问题讨论】:

  • 我认为你应该给我们更多的代码;例如带有标签的页面中的代码。您是否在列表中调用 ToString(显式或隐式)?

标签: c# asmx html-escape-characters


【解决方案1】:

试试下面的代码:

 rst.Add(string.Format("{0}",dr["Practice_short_name"].ToString())

【讨论】:

  • .ToString() 将对传递给 String.Format 的每个对象调用,所以我认为这不是问题。
【解决方案2】:

假设数据本身不是 ["VALUE"] 形式,您不需要转义任何内容。 String.format 对于一个值替换也不是必需的。

为什么不定义一个可以一次性处理空值的扩展方法?

public static string GetText(this DataRow row, string columnName)
{
    if (row.IsNull(columnName))
        return string.Empty;
    return row[columnName] as string ?? string.Empty;
}

那么你可以简单地写:

rst.Add(dr.GetText("Practice_short_name"));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多