㈠ asp.net mvc Areas @Url.Content引入文件問題
Url.Content這個方法是獲取文件絕對路徑的,只對帶~的路徑有效果;
不使用~沒有區別,你可以看MVC中Url.Content的源代碼。沒有~直接返回傳入的路徑;
在MVC3中必須寫
<script src="@Url.Content("~/Scripts/Controls.js")"></script>
MVC4中只要
<script src="~/Scripts/Controls.js"></script>
還有更多變化,參考:
http://beletsky.net/2012/04/new-in-aspnet-mvc4-razor-changes.html
㈡ Asp.net mvc和asp.net有什麼區別
區別:
一、ASP.NET是一個網站開發的技術,是.NET框架中的一個應用模型。(歷史挺長遠的)使用ASP.NET開發Web應用程序並維持其運行,比其他開發語言更加簡單。與Java、PHP和Perl等高級技術相比,ASP.NET具有方便性、靈活性、生產效率高、安全性高及面向對象等優點,是目前主流的網路編程技術之一。
MVC與ASP.NET完全沒有關系,是一個全新的Web開發,事實上ASP.NET是創建WEB應用的框架而MVC是能夠用更好的方法來組織並管理代碼的一種更高級架構體系,所以可以稱之為ASP.NET MVC。可將原來的ASP.NET稱為 ASP.NET Webforms,新的MVC 稱為ASP.NET MVC。
MVC是軟體架構的一種模式,可以說就相當於常說的設計模式。其中主要包括三個模塊,顧名思義。就如MVC名字所顯示的那樣:模型(Model),視圖(View),控制器(Controller)。mvc中的模型(Model)和視圖(View )是完全區別於三層架構中的模型(Model)和視圖(View)的。
二、Asp.net微軟提供web開發框架或者技術。分Web Form和ASP.NET MVC。下面簡單說明各自優缺點。
Web Form
優點:
WebForm優點
1、支持豐富的伺服器控制項。
2、支持視圖狀態,每個控制項狀態以「隱藏域」的形式存在當前表單頁面來達到「有狀態」,這就是ViewState
3、基於事件驅動編程,如:click事件等,aspx頁面與cs文件分離,即顯示邏輯與處理邏輯分離,便於分工,美工、編程。
4、學習成本低。
缺點:
1、站在項目架構的角度,web form不是很理想架構模式,盡管可以使用經典的三層架構或者mvp,但不是最優秀的。
2、性能viewstate成功解決了asp問題,但同樣引入新的問題,viewstate頁面存儲勢必增加頁面大小、降低程序性能。
3、代碼可重用性不好;缺少對並行開發支持,因為aspx頁面與cs緊密耦合太高;Seo不友好,因為url指定具體aspx頁面;不利於單元測試,因為使用大量事件處理函數。
DomainModel–領域模型:不僅僅是一個實體類,而是整個業務才處理流程的一個規則。
六、ViewState處理
ASP.Net MVC的開發方式。
2009年第一個開源項目版本發布。
更加簡潔,更加接近原始的「請求-處理-響應」。
更加開發、更多的新的特點、社區活躍。
不會取代WebForm。
底層跟WebForm都是一樣的。管道上不同的處理而已。
MVC只是表示層的一種新的方式。
MVC是微軟2009對外公布的第一個開源的表示層框架,這是微軟的第一個開源項目。
MVC目的不是取代WebFrom開發,只是web開發的另外一種選擇。
㈢ ASP.NET MVC3中如何創建文件夾
string filePhysicalPath = Server.MapPath("~/image/newDir/");
if (!Directory.Exists(filePhysicalPath))//判斷上傳文件夾是否存在,若不存在,則創建
{
Directory.CreateDirectory(filePhysicalPath);//創建文件夾
}
這樣才可以專的哦,關鍵在這個「~屬」符號
㈣ asp.net mvc 已知文件名,如何得到該文件的絕對路徑。在線急等
string path = 文件名.FileName(); //得到絕對路徑
㈤ asp.net MVC 中添加了Resource.resx資源文件,本地使用正常,部署到IIS後提示找不到指定的文件
在IIS中沒有配置那個資源文件,需要中IIS中配置這個文件,配置後就可以了。
㈥ ASP.net MVC視圖文件中的{{item.text}}是什麼意思,用法是什麼樣的
這是前端框架vue.js的用法,{{item.text}}就是把變數item.text的值替換到這里。這里的變數不是ASP.NET的變數,是在js中使用vue綁定的變數。如果你想了解更多vue,你可以去菜鳥教程上看看。
㈦ 如何在webform的aspx應用中使用aspnet mvc2的 route
如何混合使用 aspx 和 asp.net mvc2 的 route_mapping
背景
本 文 是 討 論 如 何 在 已 有 的 asp.net 的 webform 應 用 類 型 中 , 添 加 asp.net mvc2 的 route-mapping 的處理,並給出推薦的最佳實踐。
如何集成 asp.net mvc2
首先,需要將 asp.net mvc 框架引入 webform 的應用路徑中。涉及到的地方有:引入依賴的 assembly;web.config 文件的處理;添加 RouteTable 的 route-mapping;添加 controller; 本文以一個 home 的 url mapping 作為實現的目標來進行討論。
1 復制依賴的文件
安裝 asp.net mvc2 之後,可以在 Program File 下面找到安裝的 asp.net mvc 2 的安裝目錄,里 面有需要的 System.Web.Mvc.dll 文件:
在 Program File 下 的 Reference Assemblies 下 的 Framework\v3.5 下 , 能 找 到 需 要 的 System.Web.Routing.dll 和 System.Web.Abstractions.dll 文件:
將上面的文件復制到 web app 的 bin 目旦寬錄下,依賴的文件就復制完畢山遲清了。
2 修改 web.config
需要修改兩處,對應 IIS6 和 IIS7 的經典模式的配置節,需要在配置節下的 配置節中,添加下面的行: 以及對應 IIS7 的集成模式的配置節,在配置節下的配置節,添 加下面的行:
3 修改 global.asax
這部分工作是添加 RouteTable 的默認的 Route 處理,這里是假設提供的 Route 的 Controller 中包含 RegisterRoute 靜態方法,代碼如下:
4 添加 Route-Mapping
這部分的代碼較多,直接貼代碼了。 由於考慮支持.net 3.5 的 asp.net 平台,所以裡面的新的匿名類、類擴展等新特性需要用傳統 方式改寫。 為了支持 RouteMap 中的屬性定義,我添加了一個 HomeControllerInfo 屬性類,提供可以識逗前 別的 controller、action、id 屬性: class HomeControllerInfo { private object _controller; public object controller { get { return _controller; } set { _controller = value; } } private object _action; public object action
{ get { return _action; } set { _action = value; } } private object _id; public object id { get { return _id; } set { _id = value; } } } 在 HomeController 的 RegisterRoutes 方法中,設置好 HomeControllerInfo 實例的默認值,然 後調用 RouteCollectionExtensions 的 MapRoute 方法,做 Route-Mapping: public static void RegisterRoutes(RouteCollection routes) { HomeControllerInfo info = new HomeControllerInfo(); info.controller = "Home"; info.action = "Index"; info.id = UrlParameter.Optional; RouteCollectionExtensions.MapRoute(routes, //routes.MapRoute( "HomeMvc" // Route name "home.mvc/{action}/{id}" // URL with parameters info //new { controller = "Home" action = "Index" id = UrlParameter.Option
㈧ asp.net mvc1.0 可以部署到IIS6.0的虛擬目錄
IIS6.0中部署mvc
MVC部署到IIS7.0是非常方便的事情,但是mvc部署到IIS6.0中,讓我有點想死,走了一些彎路,也摸索出一些細節方面的體會, 跟大家分享下。
環境:
操作系統 Windows Server 2003 EnterPrise Edition
Microsoft .net FrameWork 3.5 SP1
Microsoft MVC 2.0 Preview1
lIS 6.0
步驟:
mvc部署1. 首先安裝 Microsoft .net FrameWork 3.5 SP1安裝包
mvc部署2. 安裝Microsoft MVC 2.0
mvc部署3. 安裝IIS 6.0
mvc部署4. IIS 的配置
ASP.NET 文檔使用 ASP.NET v2.0.50727
建立一個應用程序池 MvcPool ,使用默認值。
文檔 :默認文件 使用Default.aspx
添加MVC的解析:主目錄標簽,點擊【配置】,【映射】,【添加】, .mvc ,關聯文件為C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll,確認文件是否存在 取消勾選,點擊確定。
插入通配符應用程序映射,點擊 【插入】,選擇C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll,確認文件是否存在 取消勾選,點擊確定。
在不重啟電腦的情況下Web服務擴展:
首先查看是否存在名稱為 ASP.NET v2.0.50727,允許的服務擴展,如果不存在,那麼,新建一個web服務擴展,關聯文件為C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll, 並設置為【允許】。
設置【主目錄】,按照需要設置腳本資源訪問、讀取、寫入、記錄訪問、索引資源 勾選項目。
選擇其他網站沒有使用的埠
設置網站的應用程序池為先前建立的 MvcPool
啟動MvcPool應用程序池
啟動網站.
㈨ Asp net mvc文件刪除
{
string FilePath = Server.MapPath("~/Upload/txt1.txt");//轉換物理路徑
if (System.IO.File.Exists(FilePath))//判斷文件是否存在
{
System.IO.File.Delete(FilePath);//執行IO文件刪除,需引入內命容名空間System.IO;
}
return Json(new { OK=true});
}
㈩ asp.net(mvc) 如何知道mvc版本
找到這個頁面 packages.config,點開之後,這里可以看內到版本容
<packageid="Microsoft.AspNet.Mvc"version="5.2.3"targetFramework="net461"/>