我正在尝试在使用自定义Razor视图引擎时为输入获取不同的CSS。如果只从一个集合中的数据库中取数据,那么它是有效的。但是我想要为不同的用户交替使用CSS。
我使用自定义的Foo.CSCSS作为视图,在其中保存我的Razor CSS。而MyViewModel从数据库获取数据。
就像这样。
public MongoDatabase Mongo;
[HttpPost]
public ActionResult Foo(string Input)
{
var collection = Mongo.GetCollection<MyViewModel>(Input);
var model = collection.FindAll().ToList<MyViewModel>().FirstOrDefault();
return View(model);
@using (Html.BeginForm("Foo", "Styles", FormMethod.Post))
{
<fieldset>
<label for="sub">Get you CSS.</label>
<br />
<input id="txtEmail" type="text" name="Input" placeholder="Type in an CSS collection" required>
<input type="submit" name="submit" value="Press">
</fieldset>
将CSS作为视图返回,而不仅仅将其插入为CSS。
@model CustomViewEngine.Models.MyViewModel
body {
background-color: red;
}
div.col-md-4 {
background-color: @Model.BGColor;
text-decoration: @Model.TextDec;
border-style: @Model.BRDStyle;
border-width: @Model.BRDWidth;
}
div.yo {
background-color: blue;
}
有没有解决方法?
public ActionResult Foo()
{
var collection = Mongo.GetCollection<MyViewModel>("CollectionName");
var model = collection.FindAll().ToList<MyViewModel>().FirstOrDefault();
return View(model);
这样它可以从数据库中获取数据并将其用作CSS。它使用的不是正常的CSS,而是自定义扩展Foo.CSCSS,我将其解析并作为View提供。
我以此为例动态使用 Razor 的样式表