0
我需要一些幫助來創建這種擴展方法。HtmlHelper網格控件的擴展方法
我的觀點從
<%@ 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"));
是的,我喜歡這樣。你的解決方案應該可以工作不過,我以另一種方式做到了。 Telerik的提供模板輔助所以我們可以調用HTML輔助方法如下 columns.Template(O => \t \t \t \t \t { \t \t \t \t \t \t%> \t \t \t \t \t \t \t <% = Html.ConvertBooleanToYOrN(o.MultipleCurrencyFlag)%> \t \t \t \t \t標題(Html.Resource(「MultipleCurrencyTableHeader」));標題(Html.Resource(「MultipleCurrencyTableHeader」)); HtmlAttributes(new {@class =「flag」})。 非常感謝,並感謝您的建議。 – Simon 2010-08-24 02:59:27