我想限制我的.cshtml文件,以便内联c#代码只能与当前模型相关联。所以我想限制允许的命名空间或类似的东西。
背景是我需要应用程序用户(系统的管理员 - 而不是网络访问者)编辑的视图文件夹。 我的一些客户想要显示图像,有些则不想。 因此,我需要控制能做的事情,以便他们不能做到
<span>
title
@{
MyApp.Database.DeleteAll()
or
System.File.Read()
}
但我希望他们能够做到
@foreach(var img in @Model.Images){
<img src="@img" />
}
用户无权访问服务器或其他任何内容(例如webconfig等)。他们将通过Web界面编辑.cshtml文件。
假设我有一个页面,其中显示了上传图像的集合。 有些管理员希望将图像显示为滑块,将其他图像显示为简单的ul 这对应用程序的其余部分没有任何影响,因为所有内容都是松散连接的。
答案 0 :(得分:1)
这是不可能的,并且由于Razor允许运行任何C#代码而产生巨大的安全漏洞。
您可以让他们在不同的模板引擎中创建模板。例如Handlebars for C#应该允许完全按照您的需要进行操作。