文件目錄
本節內容:
新增到嵌入式資源管理器
使用嵌入式檢視
使用嵌入式資源
重寫嵌入檔案
簡介
abp提供了乙個易用的方式,在你的web應用裡嵌入razor檢視(.cshtml檔案)和其它資源(css,js,img...檔案).你可以使用這個功能建立包含ui功能的外掛程式/模組.
建立嵌入檔案
首先,我們應當建立乙個檔案並把它標誌為嵌入式資源,任何程式集都可以包含嵌入式資源檔案.步驟依專案型別而變.
xproj/project.json 格式
假設我們有個名為embeddedplugin的專案:
把views資料夾的所有檔案標誌為嵌入式資源,我們可以新增乙個如下配置到project.json:
"csproj 格式假設我們有個名為embeddedplugin的專案:buildoptions":
}
我選中index.cshtml檔案,轉到屬性視窗(快捷鍵為f4)並修改它的"建立操作"為"嵌入式資源":
你應當在你的乙個web應用裡,為所有你想做為嵌入式資源的檔案的建立操作.
新增到嵌入式資源管理器
我們一旦把檔案嵌入到程式集裡,我們可以使用啟動配置把它們新增到嵌入式資源管理器,新增如下一行**到你模組的preinitialize方法裡:
configuration.embeddedresources.sources.add(讓我們解釋一下引數:newembeddedresourceset(
"
/views/
",
assembly.getexecutingassembly(),
"
embeddedplugin.views
"));
使用嵌入式檢視
對於.cshtml檔案,直接從乙個控制器的action裡返回.embeddedplugin程式集裡的blogcontroller如下所示:
using如你所見,定與通常的controller一樣,如預期地工作.abp.aspnetcore.mvc.controllers;
using
microsoft.aspnetcore.mvc;
namespace
embeddedplugin.controllers}}
使用嵌入式資源
為使用嵌入式資源(js,css,img...),我們只要在我們的檢視中如常地使用它們:
@section styles我假設主應用包含styles和scripts節.我們也可以如常地使用其它檔案(如img).@section scripts
asp.net core 配置
//allows to expose embedded files to the web!
忽略檔案
通過,嵌入式資源管理器裡的所有靜態檔案可直接被客戶端使用,不過出於安全或其它意圖,你可以忽略一些副檔名,.cshtml和.config預設情況下被忽略(防止從客戶端直接訪問).你可以在你模組的preinitialize裡新增更多副檔名:
configuration.modules.abpwebcommon().embeddedresources.ignoredfileextensions.add("重寫嵌入式檔案嵌入式資源檔案的乙個重要功能是:它們可被更高層的模組重寫,這意味著你可以在你web應用的相同資料夾裡建立乙個與嵌入式檔案同名的檔案(web應用中你的檔案不要求是嵌入式的資源,因為靜態檔案比嵌入式檔案優先順序更高).因此,你可以在應用裡重寫模組的css,js或view檔案,同樣地,如果模組a依賴於模組b,且模組a使用相同路徑定義了乙個嵌入式資源,它就會重寫乙個模組b的嵌入式資源.exe");
注意:對於asp.net core 專案,你應當把重寫檔案作為根目錄的wwwroot資料夾下.
ABP框架 1 1 ABP總體介紹 入門介紹
abp是 asp.net boilerplate project asp.net樣板專案 的簡稱。asp.net boilerplate是乙個用佳實踐和流行技術開發現代web應用程式的新起點,它旨在成為乙個通用的web應用程式基礎 框架和專案模板。asp.net boilerplate 基於ddd的...
abp及實戰框架概述
接觸abp也快一年了,有過大半年的abp專案開發經驗,目前專案中所用的abp框架版本為0.10.3,最新的abp框架已經到了1.4,並且支援了asp.net core。關於abp框架有哪些特性 有什麼好處我這裡就不講了。如果你對abp不太了解請先去 abp官網 了解或者參考我的學習之路裡面的鏈結。在...
ABP框架學習 角色建立
實現乙個類似於abp.zero的專案。在完成專案的過程中學習abp框架知識。我們對專案做功能分析。歸類出下以功能功知識點。1.角色 2.測試專案 3.使用者 4.許可權 5.組織 6.登陸 7.選單 8.日誌 9.錯誤處理 10.併發處理 11.用佇列方式解決高併發請求。角色功能非常的簡單。主要用做...