想象一下,我在名为Shorten()的字符串类型上引入了一个扩展方法,它只获取前50个字符并返回它。
如果我想在GridView的绑定字段上调用此方法,调用它的最简单方法是什么,以便在屏幕上看到消息的缩短版本。
<!-- TODO: How to call .Shorten() extension method on the ItemDescription in markup: --!>
<asp:BoundField HeaderText="Items" DataField="ItemDescription"...>
答案 0 :(得分:1)
在.aspx文件的顶部,导入包含扩展方法的类所在的命名空间:
<%@ Import Namespace="your namespace" %>
然后:
<asp:TemplateField HeaderText="Items">
<ItemTemplate>
<%# Convert.ToString(Eval("ItemDescription")).Shorten() %>
</ItemTemplate>
</asp:TemplateField>
答案 1 :(得分:1)
将该列设为模板列:
<itemtemplate>
<asp:label id="lblItemDesc" runat="server" Text='<%=string.Format(Eval("ItemDescription").ToShorten()))%>' />
</itemtemplate>
确保ToShorten获取一个对象,而不是一个字符串,因为Eval
返回了对象。
*上面的代码没有经过测试,但很确定非常接近。
另一种选择:
修改您的类并添加一个ItemDescriptionShorten
属性,如下所示:
public string ItemStringDescriptionShorten { get {return ItemDescription.ToShortern();}}
现在绑定到该属性而不是ItemDescription