發(fā)文章
發(fā)文工具
撰寫
網(wǎng)文摘手
文檔
視頻
思維導(dǎo)圖
隨筆
相冊
原創(chuàng)同步助手
其他工具
圖片轉(zhuǎn)文字
文件清理
AI助手
留言交流
1、單元測試的NUnit, MBUnit, MSTest, XUnit以及其他的框架
2、ASP.NET MVC 應(yīng)用的默認(rèn)目錄結(jié)構(gòu)有三個頂層目錄:
Controllers、Models、Views,控制器類置于 /Controllers 目錄之中,數(shù)據(jù)模型類置于/Models目錄之中,視圖模板置于 /Views 目錄之中。
ASP.NET MVC框架并不強(qiáng)迫你總是使用這個結(jié)構(gòu)。
1、把URL映射到Controller類
在大多數(shù)web框架(ASP, PHP, JSP, ASP.NET WebForms等等)里,到來的URL一般都映射到保存在硬盤上的模板文件。
MVC框架一般以不同的方式把URL映射到服務(wù)器代碼類(Controllers(控制器))上,這個類負(fù)責(zé)處理到來的請求,處理用戶輸入和交互,執(zhí)行基于輸入和交互的相應(yīng)的應(yīng)用和數(shù)據(jù)邏輯。然后,一個Controller類調(diào)用單獨(dú)的“視圖”組件,該組件負(fù)責(zé)生成請求的實(shí)際的HTML輸出。
在如何把URL映射到Controller類方面,該引擎提供了很多靈活性。
ASP.NET MVC URL映射routing引擎的路徑選擇規(guī)則:(1)選出一個Controller來運(yùn)行。(2)把URL里定義的變量,傳遞給Controller的Action。
2、映射到控制器類的默認(rèn)ASP.NET MVC URL Routing規(guī)則
當(dāng)你創(chuàng)建一個MVC項(xiàng)目時(shí),默認(rèn)的路徑映射規(guī)則擁有這樣的格式:“/[controller]/[action]/[id]”。
(1) controller:把Url的開始部分映射到類上,該類名稱遵循UrlPathController的模式。
(2) action:controller里的action方法。ASP.NET框架根據(jù)URL routing規(guī)則來自動調(diào)用適當(dāng)?shù)腶ction方法來執(zhí)行。
還可以覆蓋Controller基類中的“Execute”方法,手工編寫我們自己的 if/else/切換邏輯,對照用戶請求的URL,然后執(zhí)行適當(dāng)?shù)倪壿媮硖幚磉@個請求。
(3)id:如果URL中在控制器名稱和action名稱之后還有任何子路徑的話,在默認(rèn)情形下,它將作為一個名為“id”的參數(shù)處理,會自動地作為一個方法參數(shù)傳給我們的控制器action方法。如果你的action方法有個參數(shù)的話,MVC框架會檢查進(jìn)來的請求的數(shù)據(jù),看是否有個同樣名稱的對應(yīng)的HTTP請求值。如果有的話,它會自動將其作為參數(shù)傳入action方法。
Controller基類呈現(xiàn)了可以使用的Request 和Response對象,它們是基于接口(interface)的。
3、使用視圖顯示界面
action方法在調(diào)用RenderView() 方法時(shí)提供的跟視圖有關(guān)的數(shù)據(jù)對象,來顯示適當(dāng)?shù)慕缑妫?/a>
在上面的代碼例子里,RenderView方法的“Categories”參數(shù)表示我們要顯示的視圖名稱,第二個參數(shù)是我們要傳給視圖對象并要視圖對象據(jù)此顯示適當(dāng)HTML界面的分類對象的列表。
ASP.NET MVC框架支持任何模板引擎(包括象NVelocity, Brail,以及你自己想要編寫的任何模板引擎)來幫助生成界面。在默認(rèn)情形下, ASP.NET MVC 框架使用ASP.NET中現(xiàn)有的ASP.NET 頁面 (.aspx), 母版頁 (.master), 和用戶控件 (.ascx) 。
4、Controller.RedirectToAction
ASP.NET MVC還提供了Controller.RedirectToAction()輔助方法,你可以在控制器里使用來進(jìn)行轉(zhuǎn)向操作(URL是使用URL路徑選擇系統(tǒng)計(jì)算出來的)。
例如,當(dāng)在控制器里調(diào)用下面代碼時(shí):
二、單元測試
Public void Detail()
{
ProductsController controller=new ProductsController();
//ProductsController里注入了一個偽(dummy)“ViewFactory”實(shí)現(xiàn)的。覆蓋了默認(rèn)的ViewFactory,否則,默認(rèn)的ViewFactory會創(chuàng)建和顯示我們的視圖。我們可以使用這個測試ViewFactory實(shí)現(xiàn)來做隔離,
TestViewEngine testView=new TestViewRngine();
Controller.viewFactory=testView;
Controller.Detail(3);
Assert.AreEqual(typeof(Product),testView.View.ViewData.GetType(),”Product object passed to View”)
Assert.AreEqual(3,testview.view.GetViewData<Product>().ProductID,”Correct Product object Passed to view”);
Assert.AreEqual(“Detail’,testView.View.ViewName,”Correct View Readered”);
}
1、理解/Views目錄結(jié)構(gòu)
Shared:存放公用的母版頁、用戶控件和視圖的地點(diǎn)。
ControllerName(控制器名):控制器所用的視圖。
執(zhí)行過程:當(dāng)在Controller中調(diào)用 RenderView(string viewName)方法時(shí),MVC框架會自動地首先在\Views\ControllerName 目錄里尋找對應(yīng)的.aspx 或 .ascx視圖模板,如果它找不到適當(dāng)?shù)囊晥D模板,然后它會在 \Views\Shared目錄尋找。
2、視圖
MVC視圖頁默認(rèn)是從System.Web.Mvc.ViewPage 基類繼承而來的,該基類提供了構(gòu)建界面時(shí)所用的許多特定于MVC的輔助方法和屬性。ViewPage的其中一個屬性名叫“ViewData”,通過它,可以訪問Controller作為參數(shù)傳給 RenderView()方法的特定于視圖的數(shù)據(jù)對象。
從你的視圖里,你可以后期綁定或以強(qiáng)類型的方式訪問“ViewData”。如果你的視圖是從ViewPage繼承而來,那么ViewData屬性是個后期綁定的字典。如果你的視圖是從基于泛型的ViewPage<T>繼承而來,其中T表示Controller傳給視圖的ViewData的數(shù)據(jù)對象的類型,那么ViewData屬性就是強(qiáng)類型的,匹配你的Controller傳入的數(shù)據(jù)的類型。
顯示數(shù)據(jù):
1) 在.aspx 文件里使用行內(nèi)代碼
使用 <% %> 和 <%= %>的句法來在html 標(biāo)識內(nèi)嵌入顯示代碼
2) 在.aspx 文件中使用服務(wù)器控件,然后在后臺代碼里使用數(shù)據(jù)綁定。
9、
Html對象是 ViewPage 基類的一個輔助屬性,ActionLink方法是它的一個輔助方法,它方便你動態(tài)地生成連回到控制器的action 方法的HTML超鏈接。
第一個參數(shù)表示要顯示的超鏈接的內(nèi)容,第二個參數(shù)是個匿名對象 ,它代表用以生成實(shí)際URL的一串值,你可以認(rèn)為它是生成字典的一個比較干凈的方式。
如果routing規(guī)則是象這樣的: /<controller>/<action>/<category>
那么在ProductController的Category視圖里編寫這樣的代碼時(shí):
<%= Html.ActionLink("Click Me to See Beverages", new { action="List", category="Beverages" } %>
Url.Action
除了使用Html.ActionLink外,ASP.NET MVC還有個Url.Action()視圖輔助方法。該方法生成原生的字符串URL,然后你可以任何方式來使用它們。例如,下面的代碼片段:
會使用URL路徑選擇系統(tǒng)返回下面這個原生的URL(而不是包裝在 <a href=""> 元素里):
ASP.NET MVC框架還支持使用強(qiáng)類型機(jī)制創(chuàng)建action路徑的能力,這些強(qiáng)類型機(jī)制為URL輔助方法提供了編譯時(shí)檢查和intellisense。這是通過使用泛型和新的VB和C#對Lambda表達(dá)式的支持來實(shí)現(xiàn)的。
下面這個匿名類型 ActionLink 調(diào)用:
也可以寫成:
方法 1:使用 Controller.ViewData 字典來傳遞ViewData
Controller基類有個ViewData字典屬性,可以用來填充你要傳給視圖的數(shù)據(jù)。你使用鍵/值模式將對象加入 ViewData 字典。
ViewPage基類提供一個ViewData字典屬性,我們可以在視圖網(wǎng)頁里訪問由控制器添加的數(shù)據(jù)對象。然后我們可以取出這些數(shù)據(jù)對象,使用它們來顯示HTML輸出,可以用服務(wù)器控件的方式,或者用 <%= %> 顯示代碼的方式。
注: 因?yàn)閂iewData的類型是含有“objects”的字典,為了對它使用foreach語句,我們需要將ViewData["Products"]的類型轉(zhuǎn)換成 List<Product> 或者 IEnumerable<Product>。我在頁面上引用了System.Collections.Generic 和 MyStore.Models 命名空間 以避免輸入 List<T> 和 Product 類型的完整名稱。
注: 上面使用了“var”關(guān)鍵詞,這是VS 2008中新的 C# 和 VB “類型推斷”特性的一個例子(在這里閱讀我以前的相關(guān)貼子)。因?yàn)槲覀儗iewData["Products"] 轉(zhuǎn)換成了 List<Product>,我們在 List.aspx 文件中的 prduct 變量上得到了完整的intellisense。
方法 2:使用強(qiáng)類型類來傳遞ViewData
Html.Select()
Html.TextBox(“”,ViewData.Product.unitPrice)
MVCToolkit程序集,你可以利用在System.Web.Mvc.BindingHelpers命名空間下實(shí)現(xiàn)的一個有用的擴(kuò)展方法,來對此代碼作些清理。這個擴(kuò)展方法叫做“UpdateFrom”,可以用在任何 .NET 對象上。它接受一個字典作為參數(shù),然后,它會對任何匹配該對象的公開屬性的鍵,自動對本身進(jìn)行屬性賦值。
Product product=new Product();
Product.UpdateFrom(request.Form);//把客戶端的數(shù)據(jù)填充到product對象中了。
注: 如果你因?yàn)榘踩脑?,想要更明確些,只允許某些屬性可以更新的話,你還可以向UpdateFrom方法傳入一個可以更新的屬性名稱的字符串?dāng)?shù)組:
攔截器(Action Filter)
1、橫切于ASP.NET MVC執(zhí)行過程。在ASP.NET MVC執(zhí)行中提供擴(kuò)展功能(HttpModule)。可作“任何”事件(日志、緩存、異常處理)
2、成員:
(1)OnActionExecuting:參數(shù)ActionExecutingContext(ActionMethod、ActionParameters、Cancel、Result)。身份驗(yàn)證、輸出服務(wù)器端緩存。
(2)OnActionExecuted:參數(shù)ActionExecutingContext(ActionMethod、Exception、ExceptionHandled、Result)。異常處理
(3)OnResultExecuting:參數(shù)ResultExecutingContext(Cancel、Result)。設(shè)置客戶端緩存、服務(wù)器端壓縮。
(4)OnResultExecuted:參數(shù)ResultExecutingContext(Exception、ExceptionHandled、Result)。異常處理、頁面尾部輸出調(diào)試信息。
(5)Order(調(diào)用順序)
實(shí)現(xiàn)與使用:繼承ActionFilterAttribute類、覆蓋必要的方法、標(biāo)記在需要操作的Action上。
IActionFilter(PV4):
ActionFilterAttribute:FilterAttribute、IActionFilter、IResultFilter。
HandleErrorAttribute:FilterAttribute、IExceptionFilter。
IResultFilter(PV4):
IExceptionFilter(PV4):驗(yàn)證
IAuthorizationFilter:授權(quán)
3、發(fā)布預(yù)制過濾器(PV4):
OutputCache:緩存輸出,VaryByParam:根據(jù)指定參數(shù)進(jìn)行。緩存整個頁面。
HandleError:捕獲特定異常,可指定出錯View(默認(rèn)為Error),View查找順序:Controller目錄àShared目錄。[handleError(ExceptionType=type(SqlException,View=””))]
Authorize:授權(quán)。
4、ActionInvoker的改進(jìn)(PV4):
AJAX(PV4)
Ajax.Form()、Ajax.ActionLink()
后臺使用“不返回ActionResult”的Action。
Request.IsAjaxRequest Property屬性(RC)
Route
1、組件:System.Web.Routing.dll。獨(dú)立于Asp.NET MVC框架的組件,可用于任意ASP.NET應(yīng)用程序。URL Routing組件目前并不開放源代碼。將URL轉(zhuǎn)換為RouteData等數(shù)據(jù)。
2、作用:ASP.NETMVC使用URL進(jìn)行驅(qū)動。根據(jù)程序中制定的規(guī)則從URL中確定Conctroller、Action、參數(shù)。
3、組件的使用:配置UrlRoutingModule
在Application_Start時(shí)添加規(guī)則,能夠隨時(shí)添加或刪除規(guī)則、規(guī)則的順序非常重要、是否在找到物理文件的情況下繼續(xù)映射RouteExistingFiles屬性。
4、Route Class:Routes.MapRoute(…)方法, (1)URL:帶有占位符的URL(2)Defaults:默認(rèn)(3)Constraints:約束。
5、IgnoreRoute() 忽略某個特定的URL(PV3)
Constroller
由模板創(chuàng)建了一個HomeConstroller、AccountController(PV4)。
繼承System.Web.Mvc.Controller類,以Controller結(jié)尾,XyzController的名稱為Xyz。
ASP.NET MVC框架會在Web應(yīng)用程序所引用的所有程序集范圍內(nèi)查找Controller(理論上不必寫在Web應(yīng)用程序內(nèi)部)
根據(jù)URL Routing提取后的數(shù)據(jù)選擇(如果沒有對應(yīng)的規(guī)則,則如普通ASP.NET應(yīng)用程序執(zhí)行)
如果沒有Controller,則拋出異常
ControllerBuilder的命名空間(PV4):DeaultNameSpaces屬性用于指定Controller的命名空間。能為特定Route規(guī)則指定特定命名空間。
添加控制器的命令(RC):可以生成CRUD方法。
Action
Action的標(biāo)記:
[ActionFilter]攔截器(PV3)(PV4中有改進(jìn))
[AcceptVerbs]特性(PV5、Beta)、[ActionName] 特性(PV5)、ActionSelectAttribute(PV5)
ViewData=Dictionary+Model
ViewData有個屬性為Model PV3
ViewPage<T>的ViewData的Model為T類型
默認(rèn)的ViewPage近似于ViewPage<object>
類SelectList 、MultiSelectList生成下拉列表框 PV3
注:PV2只能在Dictionary和Model選擇一種
(4)編輯:在Action中定義一個對象并賦值,在View中可以使用強(qiáng)類型或者弱類型。通過自動搜索來得填充到文本框。
在Action中使用Users users = new Users();users.UsersName = "zs";users.UsersSex = "男";users.UserBirth = new DateTime(1998, 1, 1);
return View(users);
在View中:可以是強(qiáng)類型或者弱類型。通過自動搜索來得填充到文本框。
UsersName:<%= Html.TextBox("UsersName") %>UsersSex:<%= Html.TextBox("UsersSex") %>UserBirth:<%= Html.TextBox("UserBirth") %>
(5)添加:在Action中:return View();
<%= Html.TextBox("UsersName") %><%= Html.ValidationMessage("UsersName", "*") %>
<%= Html.TextBox("UsersSex") %> <%= Html.ValidationMessage("UsersSex", "*") %>
<%= Html.TextBox("UserBirth") %><%= Html.ValidationMessage("UserBirth", "*") %>
Action返回值。
ActionResult:
一個抽象類,表示Action的執(zhí)行結(jié)果(多種ActionResult)、Asp.net Mvc框架將在獲得Action Result之后執(zhí)行其Execute方法、在Asp.NET MVC PV2及以前的設(shè)計(jì)中并不存在ActionResult。
各種ActionResult:
ActionRedirectResult(跳轉(zhuǎn)到某個Action ReadirectToAction(“ActionName”))
RedirectToRoute() (PV3)
HttpRedirectResult(跳轉(zhuǎn)到任意地址Redirect(“http://...”))
ViewResult(生成內(nèi)容View())PV3改變了。RenderViewàView、RenderViewResultàViewResult
EmptyResult(什么都不做new EmptyResult())
JsonResult(Json())用于Json序列化輸出。(PV3)
ContentResult(Content())直接輸出字符串。(PV3)
FileResult和 File()(RC)
avaScriptResult ActionResult 和 JavaScript() 輔助方法(RC)
注:在PV1中只能返回Void,在PV2中只能返回ActionResult。在PV3中添加可以返回void(通過Reponse.Write)
Action自動參數(shù)轉(zhuǎn)化:
Action參數(shù)自動通過以下幾種方式獲取(Url Routing Data、QueryString、Form)、自動轉(zhuǎn)換簡單數(shù)據(jù)類型、輔助方法(ReadFromRequest(ReadFromRequest<轉(zhuǎn)換的類型>(“參數(shù)名”))
對象名.UpdateFrom(BindingHelperExtensions.UpdateFrom(填充的對象,this.Request.Form,”屬性1”,”屬性2”,…)))
UpdateModel(PV5、Beta)、TryUpdateModel(PV5、Beta)
FormCollection類型(PV5)
[Bind]特性(Beta)屬性:Prefix、Included、Excluded (RC中不再要求[Bind(Prefix=””)])
Action的要求:必須是一個公有方法。必須返回ActiionResult類型、必須是實(shí)例方法、不能是范型方法、沒有標(biāo)注NonActionAttribute([NonAction])、不能被重載。
Action選擇規(guī)則:根據(jù)URL Routing提取后的數(shù)據(jù)進(jìn)行選擇。
如果沒有指定Action那么執(zhí)行標(biāo)注了NonActionAttribute的”Action”。
如果指定了一個不存在的Action,則調(diào)用Controller的HandleUnknownAction方法(默認(rèn)拋出異常,可覆蓋)
View
默認(rèn)視圖:
WebForm中的頁面模型:aspx(頁面內(nèi)容的主體)、ascx(局部視圖)、master(可視為模板框架),
Partial View(PV5):用于生成頁面部分內(nèi)容的View(與Ajax進(jìn)行配合)。對就默認(rèn)WebForms視圖引擎中的自定義用戶控件(User Control) ViewUserControl。
“添加視圖”菜單項(xiàng)(Beta)、模板:“Empty(空白)”, “List(列表)”,“Details(細(xì)節(jié))”,“Edit(編輯)”和“Create(創(chuàng)建)”(RC)
視圖?àConstroller(RC)
不帶后臺代碼文件的視圖(RC)。
加到新的ASP.NET MVC項(xiàng)目的默認(rèn)母板頁模板在<head>部分擁有一個<asp:contentplaceholder/>元素,這可方便視圖模板來控制要顯示的HTML頁面中的 <title> 元素(RC)
新的 \Scripts目錄和jQuery支持(Beta)
ViewPage的類型:繼承System.Web.Mvc.ViewPage
弱類型ViewData(View直接繼承ViewPage、ViewData為一個字典、Dictionary<string,object>)
強(qiáng)類型ViewData(View繼承ViewPage<TViewData>、ViewData則變?yōu)閺?qiáng)類型TViewData、ViewUserControl<>,ViewMasterPage<>)
頂層的"Model"屬性(RC)
強(qiáng)類型的HTML/AJAX輔助類
生成Html方式:
內(nèi)聯(lián)腳本方式:for、foreach{}
使用控件:Repeater、ListView
使用輔助方法:許多HTML輔助方法改成了擴(kuò)展方法(Beta)
HtmlHelper:ActionLink()、Encode()、Button()、CheckBox()、Select()、Image()、RouteLink()、ReaderUserControl(局部視圖)方法(PV2)、ReaderPartial()Partial View(PV5)。DropDownList()PV3、Mailto()PV3、Form()(PV5)、ValidationMessage()(PV5)、Form() ->BeginForm()(Beta)
自動的數(shù)值查詢
UrlHelper:Action()、Content()、Encode()、RouteUrl()
Beta版本:Silverlight / ASP.NET MVC 項(xiàng)目集成,ASP.NET MVC Futures 程序集,\Bin 和 GAC 部署
常用AJAX(客戶端)框架:Microsoft AJAX Library、Prototype、JQuery、Mootools
常用傳輸模式:數(shù)據(jù):優(yōu)點(diǎn):傳輸數(shù)據(jù)尺寸小。缺點(diǎn):作呈現(xiàn)時(shí)需解析Dom結(jié)構(gòu)。
內(nèi)容:優(yōu)點(diǎn):直接傳輸呈現(xiàn)內(nèi)容,呈現(xiàn)邏輯統(tǒng)一。缺點(diǎn):數(shù)據(jù)量相對較大。
XML?客戶端解析困難、數(shù)據(jù)冗余。
Json?。篔avaScript Native Support、數(shù)據(jù)相對緊湊。
Json數(shù)據(jù)傳遞:
單元測試:
1、Controller與Action的基本測試
每一個Action都會返回一個ActionResult。
判斷返回值是否是特定ActionResult類型。
判斷返回值的各屬性是否正確(ViewName,ViewData等)。
在早先的預(yù)覽版發(fā)布中,在調(diào)用HTML輔助方法時(shí),你總是需要明確地傳人要顯示的數(shù)值。例如,要在<input type="text" value="some value"/>元素中包含一個數(shù)值,你需要寫:
上面的代碼會繼續(xù)工作,雖然現(xiàn)在你還可以只寫:
HTML輔助方法現(xiàn)在在默認(rèn)情形下,會自動檢查ViewData字典以及傳人視圖的任何Model對象,看是否有一個ProductName鍵或者同名屬性值可用。
SelectList類:來填充HTML下拉框(dropdown)和可多選的列表框(listbox)
Action中:ViewData[“CategoryID”]=new SelectList(uniqueCategories,”CategoryID”,”CategoryName”,product.CategoryID);
View中:<%=Html.DropDownList(“CategoryID”)%>
MapRoute()提供了一個將新的MVC Route規(guī)則加到Routes集合中的簡易方法,而IgnoreRoute()則提供了一個告訴URL路徑選擇系統(tǒng)中止處理某些URL模式(例如,ASP.NET中用來提供JavaScript和圖像等的.axd資源處理器)的簡易方法。
MapRoute()輔助方法是重載的,可以接受2個,或者3個,或者4個參數(shù)(路徑名稱,URL句法,URL默認(rèn)參數(shù),以及可選的URL參數(shù)的正則表達(dá)式約束)
可以調(diào)用MapRoute()任意次,來在系統(tǒng)中注冊多個具名的路徑。
Html.RouteLink視圖輔助方法表示我們要鏈接到“Products-Browse”路徑,在視圖模板中使用象下面這樣的代碼傳給它一個“Food”分類參數(shù):
然后這個視圖輔助方法就會訪問路徑選擇系統(tǒng),輸出一個象下面這樣的HTML超鏈接(注意它是如何使用路徑規(guī)則將分類參數(shù)自動替換進(jìn)URL的):
我們也可以在視圖中使用新的Url.RouteUrl(routeName, values)方法,如果我們只想要獲取一個具名路徑的URL的話(而不是輸出<a> html元素)。
我們也可以使用Controller基類上的新RedirectToRoute(routeName, values)輔助方法來根據(jù)具名的路徑規(guī)則向?yàn)g覽器發(fā)出重新定向。
來自: 昵稱10504424 > 《工作》
0條評論
發(fā)表
請遵守用戶 評論公約
ASP.NET MVC框架:使用強(qiáng)類型類來傳遞ViewData
ASP.NET MVC框架:使用強(qiáng)類型類來傳遞ViewDataASP.NET MVC框架:使用強(qiáng)類型類來傳遞ViewData2009-07-24 10:43 chendawei87 hi.baidu 字...
Spring mvc注解說明
Spring mvc注解說明。@InitBinder 注解的方法必須擁有一個 WebDataBinder 類型的入?yún)?,以?Spring MVC 框架將注冊屬性編輯器的 WebDataBinder 對象傳遞進(jìn)來。命令 / 表單對象(注:一般稱綁定使用 HTT...
使用View Model從表現(xiàn)層分離領(lǐng)域模型
使用View Model從表現(xiàn)層分離領(lǐng)域模型。上面討論了領(lǐng)域模型和視圖模型的相似性,我們來看看都有幾種方式把領(lǐng)域模型轉(zhuǎn)換為視圖模型,通常有3種方法:把領(lǐng)域模型當(dāng)作視圖模型來用,也就是領(lǐng)域模型就是視圖...
Java筆記
sleep 方法是屬于 Thread 類中的,sleep 過程中線程不會釋放鎖,只會阻塞線程,讓出cpu給其他線程,但是他的監(jiān)控狀態(tài)依然保持著,當(dāng)指定的時(shí)間到了又會自動恢復(fù)運(yùn)行狀態(tài),可中斷,sleep 給其他線程運(yùn)行...
iOS平臺基于KVC的JSON與數(shù)據(jù)對象綁定
iOS平臺基于KVC的JSON與數(shù)據(jù)對象綁定iOS平臺基于KVC的JSON與數(shù)據(jù)對象綁定2015年11月16日 21:44:32閱讀數(shù):2951iOS平臺基于KVC的JSON與數(shù)據(jù)對象綁定作者:chszs,未經(jīng)博主允許不得轉(zhuǎn)載。在iOS平臺上,要...
spring MVC 常用ViewResolver & View
強(qiáng)類型DataSet與普通弱類型DataSet
強(qiáng)類型DataSet與普通弱類型DataSet2008-07-17 17:28."typed DataSet是從DataSet派生的,它根據(jù)事先定義的DataSchema生成數(shù)據(jù)集,對數(shù)據(jù)集中的字段實(shí)行強(qiáng)類型約束??梢钥吹綄傩苑椒ㄊ录粦?yīng)具全,...
AngularJS技術(shù)參考手冊
body>說明:實(shí)際效果請大家看AngularJS/demo/index.html還有一個例子,在AngularJS中創(chuàng)建控制器時(shí),將$scope對象作為參數(shù)傳遞。3.2特性二:模板在AngularJS中,一個模板就是一個HTML文件。DOM然后成...
ASP.NET MVC4 IN ACTION學(xué)習(xí)筆記
視圖里面代碼如下:如果模版不在這些文件夾里,或者視圖不在域里,這個默認(rèn)的視圖查詢地址就會被使用。MVC框架可以在視圖(頁面)里減少...
微信掃碼,在手機(jī)上查看選中內(nèi)容