ASP.Net / C#:替换数据绑定字段中的字符
本文关键字:字段 字符 数据绑定 替换 Net ASP | 更新日期: 2023-09-27 17:56:43
在ascx文件中,我从数据绑定字段中呈现数据,如下所示:
<%# Eval("Description")%>
数据源从代码隐藏绑定。
有时Description
里面有一些我需要替换的字符。如果我能做这样的事情,我会很高兴:
<%# Replace(Eval("Description"), "a", "b")%>
但是,当然,在数据绑定操作中不允许这样做(<%#)
。
我不想在代码隐藏中对其进行硬编码,因为在代码隐藏中提取字段会非常丑陋,也许将其提取到变量中,然后在 ascx 页面上输出变量。我希望有一些(可能真的很简单)方法可以直接在 ascx 页面上进行替换。
您可以将值强制转换为字符串并按如下所示处理它:
<%# ((string)Eval("Description")).Replace("a", "b") %>
或
<%# ((string)DataBinder.Eval(Container.DataItem, "Description")).Replace("a", "b") %>
不过要小心,因为如果Description
null
你会打NullReferenceException
。您可以执行以下操作来避免这种情况:
<%# ((string)Eval("Description") ?? string.Empty).Replace("a", "b") %>
你可以数据绑定到一个匿名类型,其中包含从代码隐藏填充的所有你想要的信息(包括这个),比将其提取到变量要丑陋得多。