我需要一些帮助来创建这种扩展方法。
我的观点继承自
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/NoSideMenu.Master"
Inherits="System.Web.Mvc.ViewPage<List<MyProject.Models.Customer>>" %>
我有一个由
定义的网格控件<% Html.Telerik().Grid(Model)
.Name("customer-history-grid").Footer(false).Columns(columns =>
{
columns.Bound(o => o.IsValidCustomer).Title(Html.Resource("ValidCustomerTableHeader"));
}
).Pageable(pager => pager.PageSize(25))
.Footer(true)
.Render();
%>
这里我不想显示布尔值。相反,我想显示Y
或N
。例如,如果o.IsValidCustomer
为真,则Y
为其他N
。
我尝试编写以下扩展方法
public static string ConvertToString<T, TValue>(this HtmlHelper<T> helper, Expression<Func<T, TValue>> expression)
{
......
}
但我的扩展方法选择了List<MyProject.Models.Customer>
类型而不是Customer
对象。所以我不能在lambda表达式中选择方法o.IsValidCustomer
,例如
在视图中......
columns.Bound(o => o.IsValidCustomer).Format(Html.ConvertToString(o => o.IsValidCustomer)).Title(Html.Resource("ValidCustomerTableHeader"));
答案 0 :(得分:1)
是否可以编辑域模型?
E.g。添加这个
public string IsValidCustomerString
{
get { return IsValidCustomer ? "Y" : "N"; }
}
然后将其绑定为一个列?
HTHS,
查尔斯