0

我需要一些帮助来创建这个扩展方法。

我的观点继承自

<%@ 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(); 
    %>

这里我不想显示布尔值。相反,我想显示Yor N。例如 ifo.IsValidCustomer为 true 然后Yelse N

我尝试编写以下扩展方法

public static string ConvertToString<T, TValue>(this HtmlHelper<T> helper, Expression<Func<T, TValue>> expression)
    {
        ......
    }

但是我的扩展方法选择了List<MyProject.Models.Customer>类型而不是Customer对象。所以我不能o.IsValidCustomer在 lambda 表达式中选择方法,例如

在视图中...

columns.Bound(o => o.IsValidCustomer).Format(Html.ConvertToString(o => o.IsValidCustomer)).Title(Html.Resource("ValidCustomerTableHeader"));
4

1 回答 1

1

是否可以编辑您的域模型?

例如添加这个

public string IsValidCustomerString
{
    get { return IsValidCustomer ? "Y" : "N"; }
}

然后将其绑定为列?

HTH,
查尔斯

于 2010-08-19T16:20:47.270 回答