您好,登錄后才能下訂單哦!
這篇文章主要講解了“ASP.net mvc面試題有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“ASP.net mvc面試題有哪些”吧!
第1題:什么是ASP.net mvc?
這是一個網絡應用的開發框架。輕量型的,很容易測試的一個框架。它把整個應用程序分成三個組件: model view controller.
第2題:解釋一下model view controller。
Model是數據模型,用來表示應用中我們使用的數據。
Controller處理各種用戶請求,并且把用戶重定位到view。
View就是我們用戶能看到的那一層。
第3題:解釋一下mvc 4的新的功能。
①異步control的處理。
②JavaScript Bundling.
③配置方法的分離。Mvc路徑,web API和bundle。
④移動端的模板支持。
⑤Rest API service的模板支持。
第4題:在創建一個路徑的時候,我們需要哪些組件?
首先是路徑名字。
其次是路徑的url。
再一個就是defaults。當被調用的時候,在某個controller里面需要被調用的那個action連同參數。
第5題:mvc對ASP.net的好處在哪里?
①提供非常清晰的成績管理,像ui層,也就是view, 數據層model和管理層controller。
②單元測試比較容易。
③改善了數據模型和視圖的重用性。
④代碼的結構更加優化。
第6題:什么是separation of concerns?
是一個分解的過程。把一個大的功能分解成幾個小的功能,幾個小功能之間重疊性非常低。對于mvc來說,比較關心從演示層到數據處理分層。
第7題:一個視圖是否能在多個controller中分享?
是的,可以。
可以把這個視圖放在一個shared的文件夾里面。當我們在創建一個新的mvc工程的時候,這個layout page就會被添加在分享的文件夾里面因為他會被多個子頁面調用。
第8題:unobstrusive JavaScript是什么意思?
這個javascript的意思是說不會把JavaScript內嵌到你的頁面的標記里面。
第9題:view model在mvc中的作用是什么?
Viewmodel是一個通常的類,有很多屬性它可以綁定到視圖上。它也可以通過屬性來設定一些驗證的規則。
第10題:Mvc中的路徑是干什么的?
路徑主要有兩個部分,一個是路徑的那個字符串,還有一個是它的處理函數。通過搜索這個路徑以及對應的請求方法,然后找到對應的處理函數。
第11題:Mvc中的actions是什么?
Actions是controller里面的方法,主要處理兩部分內容,一個是視圖,另外一個是json數據。它的返回值類型是action result,是通過invoke action這個方法來調用。
第12題:什么是屬性路徑?
屬性路徑可以定義在controller層級或者是action層級。從mvc 5 才開始有的。
第13題:如何激活屬性路徑?
在registerRoutes里面添加map mvc attribute routes就可以激活屬性路徑。
第14題:什么是json binding?
從mvc3開始,使用json value provider factory來支持json binding. 允許action方法接收和綁定json類型的數據。這一點在向服務器發送數據的時候非常有用。
第15題:解釋一下dependency resolution.
這個主要是來做dependency injection,這樣可以使得代碼耦合性非常低,可以更容易的進行測試。
第16題:解釋一下mvc4中的bundle.config.
這個文件主要是用來注冊一些非常有用的程序庫像jquery。
第17題:在dot net mvc中,路徑表是如何創建的?
RegusterRoutes用來注冊各種路徑,這個方法會在application start方法中被調用,這個方法存在于global.asax文件里面。在程序啟動的時候,會被調用。
第18題:為什么使用"{resource}.asd/{*pathinfo}"?
這樣做主要是為了防止網絡資源文件,比如web resource.asd,或者script resource.asd,被傳送到一個controller上。
第19題:什么是view data?
view data,是一個數據字典,有key和value,從view data dictionary派生出來的,在action方法中,我們可以設定viewdata的值,在視圖中,我們可以獲取這些值。
第20題:view bag 和 view data之間的區別是什么?
view bag是view data的一個擴展。擴展以后可以創建動態的屬性。這樣的好處有:不需要進行類型的轉換。我們可以使用dynamic關鍵字。
但是有一個缺點就是view bag要比view data慢一些。
第21題:解釋一下temp data。
是從temp data dictionary派生出來的,跟view data很類似,它也是key和value的對組合。它主要用在兩個請求的交互當中,它們可能是兩個actions或者兩個controllers。它在視圖中使用的時候需要類型轉換。
第22題:什么是html Helpers?
Html helpers相當于在傳統的web form中的控件。但是它更輕量級, 不會保存試圖的狀態和事件。
它返回html字符串,它可以直接被顯示的網頁上。從html helper時派生可以自定義html helpers。
第23題:什么是ajax helpers?
它是用來對網頁表格進行進一步請求的機制,它的擴展方法存在于System.Web.Mvc。
第24題:有哪些配置ajax helper的選項?
Url, 這是請求的鏈接。
Confirm這個是用來指定顯示的確認消息。
On begin這個方法是在ajax請求之前被調用。
On Complete, 這個方法會在ajax請求之后被調用。
On success當ajax請求成功時,這個方法會被調用。
On failure, 當ajax請求失敗時,這個方法會被調用。
Update trigger ID.在action返回的html中會存在目標元素, 這個ID就是對應這個元素的。
第25題:解釋一下render body和render page。
render body就相當于在網頁表格中的content place holder。它存在于layout頁面當中,一個layout頁面只有一個render body。而在一個layout頁面當中可以有多個render page.
第26題:什么是view start page?
這個頁面是用來制作通用的layout頁面,它可以被多個視圖使用,在這個文件里的代碼,會在程序加載的時候首先被執行。
第27題:解釋一下顯示視圖的方法。
View在action中返回的是一個視圖。
Partial view, 它是在action中返回一部分視圖。
Redirect to action.它是用來重定向到不同的action里面,它可以在一個controller里面也可以在不同的controller里面。
第28題:如何改變action的名字?
可以使用action name屬性來改變action的名字。
[actionname("testactionview")]
第29題:什么是validation anotations?
數據anotations存在于system.componentmodel.data .anotations. 它可以用作服務器端的驗證也可以用作客戶端的驗證。有4個屬性一個是required,一個是string length,一個是regular expression,一個是range。
第30題:為什么要使用html.partial?
這個方法用來顯示html string指定的某塊視圖。
html.partial("testpartialview")
第31題:什么是html.Renderpartial?
這個方法向response里面寫入數據的。沒有任何返回值。
@{html.renderpartial("testpartialview")}
第32題:什么是scaffold模板?
用來生成controller,model,views,對應的是create,read這些功能操作。
感謝各位的閱讀,以上就是“ASP.net mvc面試題有哪些”的內容了,經過本文的學習后,相信大家對ASP.net mvc面試題有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。