Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
類型輔助方法可幫助您設(shè)置DevExtreme控件,它們?cè)试S在編譯時(shí)查看代碼驗(yàn)證、提供完整的 IntelliSense 支持、添加基于數(shù)據(jù)注釋的客戶端驗(yàn)證,并支持顯示屬性。
DevExtreme Complete Subscription官方最新版免費(fèi)下載試用,歷史版本下載,在線文檔和幫助文件下載-慧都網(wǎng)
您可以使用兩種 DevExtreme 強(qiáng)類型輔助方法:
這些方法將控件綁定到由 lambda 表達(dá)式指定的模型屬性,這種方法允許您在不使用字符串常量的情況下配置控件。
注意:要將控件綁定到模型屬性,請(qǐng)?jiān)?@model 指令 (Razor C#) 或 @ModelType 指令 (Razor VB) 中指定模型。
下面的示例演示了創(chuàng)建 DateBox 控件并將其綁定到 OrderViewModel 模型的 OrderDate 屬性的 DateBoxFor 方法。
Razor C#
Razor VB
ControlFor 方法可用于具有自己模型的局部視圖。 下面的示例演示了使用 DevExtreme 強(qiáng)類型輔助方法(DateBoxFor、TextBoxFor)以及內(nèi)置輔助方法(LabelFor?、ValidationMessageFor?)的局部視圖。
_MyPartial.cshtml
_MyPartial.vbhtml
注意:要將控件綁定到模型,請(qǐng)?jiān)谳o助方法中將模型指定為類型參數(shù)。 該控件將表示來(lái)自該模型的數(shù)據(jù),而不是來(lái)自當(dāng)前視圖的模型的數(shù)據(jù)。
下面的示例代碼將強(qiáng)類型的 DataGrid 添加到 OrderViewModel 類型,AddFor() 方法配置網(wǎng)格列,此方法將列綁定到由 lambda 表達(dá)式指定的模型屬性。
Razor C#
Razor VB
使用強(qiáng)類型輔助方法配置的控件支持以下內(nèi)置 ASP.NET Core 顯示屬性:
您可以使用這些屬性替代API 方法來(lái)配置控制選項(xiàng),例如以下代碼演示了如何使用 API 方法來(lái)配置 Form 控件的 FullName 數(shù)據(jù)字段(其標(biāo)簽、描述和占位符):
模型
C#
VB
Razor C#
Razor VB
作為替代方案,您可以使用顯示屬性來(lái)配置相同的控制選項(xiàng)。 下面的代碼演示了如何將 [Display] 屬性附加到 Person 模型的 FullName 屬性,當(dāng)您將 Form 控件綁定到 Person 模型時(shí),將應(yīng)用該屬性。
模型
C#
VB
Razor C#
Razor VB
下圖顯示了結(jié)果:
DevExtreme | 下載試用
DevExtreme擁有高性能的HTML5 / JavaScript小部件集合,使您可以利用現(xiàn)代Web開(kāi)發(fā)堆棧(包括React,Angular,ASP.NET Core,jQuery,Knockout等)構(gòu)建交互式的Web應(yīng)用程序。從Angular和Reac,到ASP.NET Core或Vue,DevExtreme包含全面的高性能和響應(yīng)式UI小部件集合,可在傳統(tǒng)Web和下一代移動(dòng)應(yīng)用程序中使用。 該套件附帶功能齊全的數(shù)據(jù)網(wǎng)格、交互式圖表小部件、數(shù)據(jù)編輯器等。
ASP.net mvc面試49題
大家好,這一期呢,我們來(lái)談一下ASP.net mvc的面試題。
第1題, 什么是ASP.net mvc?
這是一個(gè)網(wǎng)絡(luò)應(yīng)用的開(kāi)發(fā)框架。輕量型的,很容易測(cè)試的一個(gè)框架。它把整個(gè)應(yīng)用程序分成三個(gè)組件: model view controller.
第2題, 解釋一下model view controller。
Model是數(shù)據(jù)模型,用來(lái)表示應(yīng)用中我們使用的數(shù)據(jù)。
Controller處理各種用戶請(qǐng)求,并且把用戶重定位到view。
View就是我們用戶能看到的那一層。
第3題,解釋一下mvc 4的新的功能。
異步control的處理。
JavaScript Bundling.
配置方法的分離。Mvc路徑,web API和bundle。
移動(dòng)端的模板支持。
Rest API service的模板支持。
第4題, 介紹一下mvc頁(yè)面的life cycle。
app initialization.
Routing.
Instantiate and execute controller.
Locate and invoke controller action.
Instantiate and render view.
第5題, mvc對(duì)ASP.net的好處在哪里?
提供非常清晰的成績(jī)管理,像ui層,也就是view, 數(shù)據(jù)層model和管理層controller。
單元測(cè)試比較容易。
改善了數(shù)據(jù)模型和視圖的重用性。
代碼的結(jié)構(gòu)更加優(yōu)化。
第6題, 什么是separation of concerns?
是一個(gè)分解的過(guò)程。把一個(gè)大的功能分解成幾個(gè)小的功能,幾個(gè)小功能之間重疊性非常低。對(duì)于mvc來(lái)說(shuō),比較關(guān)心從演示層到數(shù)據(jù)處理分層。
第7題什么是razor view engine?
這個(gè)引擎提供了數(shù)據(jù)綁定的顯示模板。
@model MvcStore.Models.Customer
@{ViewBag.Title="Get Customers";}
<div class="cust"><h3><em>@Model.CustomerName</em></h3></div>
第8題, unobstrusive JavaScript是什么意思?
這個(gè)javascript的意思是說(shuō)不會(huì)把JavaScript內(nèi)嵌到你的頁(yè)面的標(biāo)記里面。
第9題,view model在mvc中的作用是什么?
Viewmodel是一個(gè)通常的類,有很多屬性它可以綁定到視圖上。它也可以通過(guò)屬性來(lái)設(shè)定一些驗(yàn)證的規(guī)則。
第10題,Mvc中的路徑是干什么的?
路徑主要有兩個(gè)部分,一個(gè)是路徑的那個(gè)字符串,還有一個(gè)是它的處理函數(shù)。通過(guò)搜索這個(gè)路徑以及對(duì)應(yīng)的請(qǐng)求方法,然后找到對(duì)應(yīng)的處理函數(shù)。
第11題, Mvc中的actions是什么?
Actions是controller里面的方法,主要處理兩部分內(nèi)容,一個(gè)是視圖,另外一個(gè)是json數(shù)據(jù)。它的返回值類型是action result,是通過(guò)invoke action這個(gè)方法來(lái)調(diào)用。
第12題,什么是屬性路徑?
屬性路徑可以定義在controller層級(jí)或者是action層級(jí)。從mvc 5 才開(kāi)始有的。
第13題,如何激活屬性路徑?
在registerRoutes里面添加map mvc attribute routes就可以激活屬性路徑。
第14題,什么是json binding?
從mvc3開(kāi)始,使用json value provider factory來(lái)支持json binding. 允許action方法接收和綁定json類型的數(shù)據(jù)。這一點(diǎn)在向服務(wù)器發(fā)送數(shù)據(jù)的時(shí)候非常有用。
第15題,解釋一下dependency resolution.
這個(gè)主要是來(lái)做dependency injection,這樣可以使得代碼耦合性非常低,可以更容易的進(jìn)行測(cè)試。
第16題,解釋一下mvc4中的bundle.config.
這個(gè)文件主要是用來(lái)注冊(cè)一些非常有用的程序庫(kù)像jquery。
第17題,在dot net mvc中,路徑表是如何創(chuàng)建的?
RegusterRoutes用來(lái)注冊(cè)各種路徑,這個(gè)方法會(huì)在application start方法中被調(diào)用,這個(gè)方法存在于global.asax文件里面。在程序啟動(dòng)的時(shí)候,會(huì)被調(diào)用。
第18題,在mvc中比較重要的name spaces有哪些?
System.web.mvc, System.web.mvc.ajax, System.web.mvc.html, System.web.mvc.async
第19題,什么是view data?
view data,是一個(gè)數(shù)據(jù)字典,有key和value,從view data dictionary派生出來(lái)的,在action方法中,我們可以設(shè)定viewdata的值,在視圖中,我們可以獲取這些值。
第20題,view bag 和 view data之間的區(qū)別是什么?
view bag是view data的一個(gè)擴(kuò)展。擴(kuò)展以后可以創(chuàng)建動(dòng)態(tài)的屬性。這樣的好處有:
不需要進(jìn)行類型的轉(zhuǎn)換。
我們可以使用dynamic關(guān)鍵字。
但是有一個(gè)缺點(diǎn)就是view bag要比view data慢一些。
第21題, 解釋一下temp data。
是從temp data dictionary派生出來(lái)的,跟view data很類似,它也是key和value的對(duì)組合。它主要用在兩個(gè)請(qǐng)求的交互當(dāng)中,它們可能是兩個(gè)actions或者兩個(gè)controllers。它在視圖中使用的時(shí)候需要類型轉(zhuǎn)換。
第22題,什么是html Helpers?
Html helpers相當(dāng)于在傳統(tǒng)的web form中的控件。但是它更輕量級(jí), 不會(huì)保存試圖的狀態(tài)和事件。
它返回html字符串,它可以直接被顯示的網(wǎng)頁(yè)上。從html helper時(shí)派生可以自定義html helpers。
第23題, 什么是ajax helpers?
它是用來(lái)對(duì)網(wǎng)頁(yè)表格進(jìn)行進(jìn)一步請(qǐng)求的機(jī)制,它的擴(kuò)展方法存在于System.Web.Mvc。
第24題,有哪些配置ajax helper的選項(xiàng)?
Url, 這是請(qǐng)求的鏈接。
Confirm這個(gè)是用來(lái)指定顯示的確認(rèn)消息。
On begin這個(gè)方法是在ajax請(qǐng)求之前被調(diào)用。
On Complete, 這個(gè)方法會(huì)在ajax請(qǐng)求之后被調(diào)用。
On success當(dāng)ajax請(qǐng)求成功時(shí),這個(gè)方法會(huì)被調(diào)用。
On failure, 當(dāng)ajax請(qǐng)求失敗時(shí),這個(gè)方法會(huì)被調(diào)用。
Update trigger ID.在action返回的html中會(huì)存在目標(biāo)元素, 這個(gè)ID就是對(duì)應(yīng)這個(gè)元素的。
第25題,什么是mvc的layout?
它相當(dāng)于傳統(tǒng)的網(wǎng)頁(yè)表格中的主頁(yè)。它可以在多個(gè)頁(yè)面中被引用。
@{
layout = "~/views/shared/testlayout.cshtml"};
}
這個(gè)地方,這個(gè)test layoutout作為一個(gè)子頁(yè)面。
第26題,解釋一下sections?
Sections是html頁(yè)面的一部分。
@rendersection("testsection")
在子頁(yè)面中我們定義如下的sections。
@section testsection {
<h1>test content</h1>
}
如果這個(gè)section沒(méi)有定義的話會(huì)出錯(cuò),我們可以使用一個(gè)required屬性來(lái)防止頁(yè)面出錯(cuò)。
@rendersection("testsection", required: false)
第27題, 解釋一下render body和render page。
render body就相當(dāng)于在網(wǎng)頁(yè)表格中的content place holder。它存在于layout頁(yè)面當(dāng)中,一個(gè)layout頁(yè)面只有一個(gè)render body。而在一個(gè)layout頁(yè)面當(dāng)中可以有多個(gè)render page.
第28題,什么是view start page?
這個(gè)頁(yè)面是用來(lái)制作通用的layout頁(yè)面,它可以被多個(gè)視圖使用,在這個(gè)文件里的代碼,會(huì)在程序加載的時(shí)候首先被執(zhí)行。
第29題,解釋一下顯示視圖的方法。
View在action中返回的是一個(gè)視圖。
Partial view, 它是在action中返回一部分視圖。
Redirect to action.它是用來(lái)重定向到不同的action里面,它可以在一個(gè)controller里面也可以在不同的controller里面。
第30題,action result的子類型是什么?
View result. Partial view result, redirect to route result, redirect result, JavaScript result, file result, HTTP status code result.
第31題,什么是非action方法?
在mvc中所有的公開(kāi)方法都被認(rèn)為是actions.如果你不想讓你的方法作為actions,那你就需要添加non action屬性。
[nonaction]
public void testmethod(){
}
第32題,如何改變action的名字?
可以使用action name屬性來(lái)改變action的名字。
[actionname("testactionview")]
第33題,什么是視圖代碼塊?
這些代碼塊兒非常適合定義變量。
@{
int x=123;
string y="aa";
}
第34題, 什么是helperpage.ajax屬性?
這個(gè)屬性主要是用來(lái)指明在一個(gè)網(wǎng)頁(yè)中是否用了ajax.
第35題, 如何在mvc中,當(dāng)dropdownlist改變的時(shí)候調(diào)用一個(gè)JavaScript的函數(shù)?
在on change的時(shí)候設(shè)定這個(gè)JavaScript方法的調(diào)用就可以了。
第36題,什么是validation anotations?
數(shù)據(jù)anotations存在于system.componentmodel.data .anotations. 它可以用作服務(wù)器端的驗(yàn)證也可以用作客戶端的驗(yàn)證。有4個(gè)屬性一個(gè)是required,一個(gè)是string length,一個(gè)是regular expression,一個(gè)是range。
第37題,為什么要使用html.partial?
這個(gè)方法用來(lái)顯示html string指定的某塊視圖。
html.partial("testpartialview")
第38題,什么是html.Renderpartial?
這個(gè)方法向response里面寫(xiě)入數(shù)據(jù)的。沒(méi)有任何返回值。
@{html.renderpartial("testpartialview")}
第39題, 什么是scaffold模板?
用來(lái)生成controller, model, views, 對(duì)應(yīng)的是create, read, update, delete,這些功能操作。
第40題,解釋一下scaffoldings的類型。
Empty
Create
Delete
Details
Edit
List
第41題,一個(gè)視圖是否能在多個(gè)controller中分享?
是的,可以。
可以把這個(gè)視圖放在一個(gè)shared的文件夾里面。當(dāng)我們?cè)趧?chuàng)建一個(gè)新的mvc工程的時(shí)候,這個(gè)layout page就會(huì)被添加在分享的文件夾里面因?yàn)樗麜?huì)被多個(gè)子頁(yè)面調(diào)用。
第42題, 在創(chuàng)建一個(gè)路徑的時(shí)候,我們需要哪些組件?
首先是路徑名字。
其次是路徑的url。
再一個(gè)就是defaults。當(dāng)被調(diào)用的時(shí)候,在某個(gè)controller里面需要被調(diào)用的那個(gè)action連同參數(shù)。
第43題, 為什么使用"{resource}.asd/{*pathinfo}"?
這樣做主要是為了防止網(wǎng)絡(luò)資源文件,比如web resource.asd,或者script resource.asd,被傳送到一個(gè)controller上。
第44題, 我們?nèi)绾蜗蛞粋€(gè)路徑添加constraints?
我們可以通過(guò)regular expressions。
也可以通過(guò)Irouteconstraint接口.
第45題, razor視圖的可能擴(kuò)展名是什么?
cshtml
vbhtml
第46題,什么是partial view?
Partial view相當(dāng)于傳統(tǒng)網(wǎng)頁(yè)表格中的user controls.
它的主要目的是為了重復(fù)使用這些視圖,他們一般被放在一個(gè)共享文件夾里面。
html.partial()
html.renderpartial()
第47題, 如何向mvc中添加css?
使用link tag。
第48題, 能否用visual studio express向mvc添加測(cè)試案例?
不能,只有專業(yè)版和ultimate終極版才可以。
第49題,.glimpse 的作用是什么?
它是一個(gè)開(kāi)源工具,用來(lái)調(diào)試mvc的路徑。他用在客戶端調(diào)試場(chǎng)景。可以通過(guò)本地的鏈接來(lái)激活打開(kāi)。這是一個(gè)非常流行而有用的調(diào)試工具,它可以跟蹤速度細(xì)節(jié),網(wǎng)頁(yè)細(xì)節(jié)等等。
碼字不易,請(qǐng)關(guān)注點(diǎn)贊!
evExtreme Complete Subscription官方最新版免費(fèi)下載試用,歷史版本下載,在線文檔和幫助文件下載-慧都網(wǎng)
要調(diào)用方法,請(qǐng)使用 JavaScript API。 例如,您有一個(gè) Popup 控件:
Razor C#
@(Html.DevExtreme().Popup()
.ID("popup")
)
Razor VB
@(Html.DevExtreme().Popup() _
.ID("popup")
)
該控件在調(diào)用其 show() 方法后出現(xiàn)在頁(yè)面上,下面的代碼演示了如何調(diào)用此方法。
JavaScript
$("#popup").dxPopup("show");
注意:要在 JavaScript 中訪問(wèn)客戶端小部件實(shí)例,請(qǐng)將 dx 前綴添加到小部件名稱中,例如 dxPopup。
您可以將提供的代碼放在任何 JavaScript 結(jié)構(gòu)中并執(zhí)行它,例如,當(dāng)用戶單擊按鈕時(shí)……
Razor C#
@(Html.DevExtreme().Button()
.OnClick("showPopup")
)
<script>
function showPopup() {
$("#popup").dxPopup("show");
}
</script>
Razor VB
@(Html.DevExtreme().Button() _
.OnClick("showPopup")
)
<script>
function showPopup() {
$("#popup").dxPopup("show");
}
</script>
…或者一旦你的頁(yè)面準(zhǔn)備好了
<script>
$(showPopup);
function showPopup() {
$("#popup").dxPopup("show");
}
</script>
如果被調(diào)用的方法接受參數(shù),則在方法名稱之后傳遞它們。 例如,以下代碼以 true 作為參數(shù)調(diào)用 Popup 控件的 toggle(showing) 方法。
$("#popup").dxPopup("toggle", true);
DevExtreme | 下載試用
DevExtreme擁有高性能的HTML5 / JavaScript小部件集合,使您可以利用現(xiàn)代Web開(kāi)發(fā)堆棧(包括React,Angular,ASP.NET Core,jQuery,Knockout等)構(gòu)建交互式的Web應(yīng)用程序。從Angular和Reac,到ASP.NET Core或Vue,DevExtreme包含全面的高性能和響應(yīng)式UI小部件集合,可在傳統(tǒng)Web和下一代移動(dòng)應(yīng)用程序中使用。 該套件附帶功能齊全的數(shù)據(jù)網(wǎng)格、交互式圖表小部件、數(shù)據(jù)編輯器等。
*請(qǐng)認(rèn)真填寫(xiě)需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。