原創(chuàng)|產(chǎn)品更新|編輯:龔雪|2017-11-07 10:39:03.000|閱讀 262 次
概述:本文主要為大家介紹DevExtreme ASP.NET MVC v17.2即將新增的新的強(qiáng)類型HTML Helpers。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
在ASP.NET MVC中構(gòu)建視圖時(shí),強(qiáng)類型HTML helpers非常有用。像@Html.TextBoxFor(m => m.FirstName)這樣內(nèi)置的Helper方法已經(jīng)存在很長(zhǎng)時(shí)間了,它們提供諸如視圖編譯時(shí)間檢查、Razor支持等優(yōu)點(diǎn),并支持使用數(shù)據(jù)注釋來自動(dòng)配置重要的選項(xiàng),如驗(yàn)證規(guī)則。
自從我們發(fā)布DevExtreme ASP.NET MVC控件以來,它們已經(jīng)包含了一套HTML helper方法來幫助您完成設(shè)置DevExtreme編輯器的工作。 例如在這里,我們創(chuàng)建一個(gè)DevExtreme MVC DateBox控件,該控件將從模型綁定到OrderDate字段中:
@Html.DevExtreme().DateBoxFor(m => m.OrderDate)
在下一個(gè)主要版本v17.2中,我們擴(kuò)展了在HTML helpers中使用表達(dá)式的功能。已經(jīng)添加了更多的lambda表達(dá)式到更多的小部件中,這允許使用它們來配置項(xiàng)目,如:
因此,DataGrid控件現(xiàn)在可以使用以下語(yǔ)法來聲明:
@(Html.DevExtreme().DataGrid<Sale>() .Columns(columns => { columns.AddFor(m => m.CategoryName); columns.AddFor(m => m.ProductName); columns.AddFor(m => m.ProductSales); }) .Summary(s => s.TotalItems(total => { total .AddFor(m => m.ProductSales) .SummaryType(SummaryType.Sum); })) )
注意:DataGrid <Sale>()和AddFor調(diào)用的泛型類型參數(shù)配置列和總摘要,不使用任何字符串常量。
以前,該列將使用如下所示的字符串進(jìn)行聲明:columns.Add().DataField(“CategoryName”);. 由于下面列出的原因,新的lamdba表達(dá)式方法更好,使您的工作效率更高。
使用lambda表達(dá)式最好的是您可以根據(jù)類型在Razor視圖中獲得IntelliSense:
AddFor方法是一個(gè)非常好的功能,它推斷有關(guān)該屬性的有用信息,這些信息包括屬性名稱和數(shù)據(jù)類型。我們還處理模型的數(shù)據(jù)注釋。例如如果Sale類的任何成員使用Display屬性進(jìn)行注釋,則會(huì)自動(dòng)將其分配為列標(biāo)題:
public partial class Sale { [Display(Name = "Category")] public string CategoryName { get; set; } [Display(Name = "Product")] public string ProductName { get; set; } [Display(Name = "Sales")] public Nullable<decimal> ProductSales { get; set; } }
如果您的數(shù)據(jù)是使用驗(yàn)證屬性進(jìn)行注釋的,例如[Required],[StringLength],[Range]等,則DevExtreme MVC將遵循并將其應(yīng)用于DataGrid或TreeList的列驗(yàn)證選項(xiàng)。 所以,在使用表達(dá)式時(shí),會(huì)自動(dòng)為您配置客戶端驗(yàn)證。
新的強(qiáng)類型HTML helpers還能夠?qū)崿F(xiàn)'highly-requested'用戶場(chǎng)景,例如“類型化表單控件”示例:
@(Html.DevExtreme().Form<Employee>().Items(items => { items.AddSimpleFor(m => m.FirstName); items.AddSimpleFor(m => m.LastName); items.AddGroup().Caption("Address").Items(addressItems => { addressItems.AddSimpleFor(m => m.Address); addressItems.AddSimpleFor(m => m.Region); addressItems.AddSimpleFor(m => m.PostalCode); }); }))
===============================================================
想要進(jìn)一步了解如何DevExtreme ASP.NET MVC?
掃描關(guān)注DevExpress中文網(wǎng)微信公眾號(hào),及時(shí)獲取最新動(dòng)態(tài)及最新資訊
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都控件網(wǎng)