[英]How can I allow logged in users be able to direct download file from an ASP.NET MVC application
[英]Can a .NET SAAS application allow users to update their CSHTML from the app?
因此,有Shopify,Wordpress等服務,這些服務允許用戶在瀏覽器中從應用程序本身更新其布局,但是其中許多服務不是以.NET框架的編譯語言編寫的。
.NET MVC站點可能會發生這種情況嗎? 我是否可以允許用戶修改他們的.cshtml
文件,只要他們遵守Razor
約定?
編譯語言有不利之處嗎?
當然可以。 如果您熟悉.NET Framework產品,則知道使用asp.net mvc路由和少量的自定義代碼,就可以生成自己的控制器來處理用戶的請求並管理自定義視圖。
例如,您可以將用戶視圖保存到表中並構建編輯器。 之后,您可以編寫一個控制器來處理用戶的請求並呈現所需的視圖。 請查看這個簡短的示例。
您可以創建一個像這樣的表,該表將作為物理視圖和用戶相關視圖之間的鏈接運行。
CREATE TABLE UserPages (
Id INT NOT NULL IDENTITY(1,1),
Title NVARCHAR(50) NOT NULL ,
Html NTEXT NOT NULL);
ALTER TABLE UserPages ADD CONSTRAINT PK_UserPages PRIMARY KEY (Id);
該控件將類似於此:
class UserPagesController : Controller {
[ValidateInput(false)]
public ActionResult Save(UserPage page) {
var db = new DbContext(); // Your db context..
db.Save(userPage);
var path = string.Format("~/Views/UserPages/Page{1}.cshml", page.Id);
path = Server.MapPath(path);
File.WrileAllText(path, page.Html);
return ...;
}
[HttpGet]
public ActionResult View(int id) {
var db = new DbContext();
var page = db.Pages.FirstOrDefault(p => p.Id == id);
if( page != null) {
var path = string.Format("~/Views/UserPages/Page{1}.cshml", page.Id);
return View(path);
} else {
return HttpNotFound();
}
}
}
請記住:這只是一個指導您進行此過程的示例。 您必須學習asp.net mvc的工作原理以及如何做得很好。 但是,我認為這是一個很好的起點。
希望對您有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.