如何在字符串中嵌入razor变量
本文关键字:razor 变量 字符串 | 更新日期: 2023-09-27 18:18:15
我想在资源文件字符串中添加一个剃刀模型变量。我尝试了以下操作,但变量被呈现为文字:
尝试1:
"There is a variable @Model.here"
尝试2:
"There is a variable @(Model.here)"
在代码中,它是这样被引用的:
@MyManager.GetString("resourcefilevariable")
有办法做到这一点吗?
最好存储
"There is a variable {0}"
作为资源字符串,在视图中,像这样写:
@string.Format(Resources.String, model.here);
作为一个完整的例子:
下面是模型类:
public class Foo
{
public string Name { get; set; }
public Foo()
{
Name = "bar";
}
}
它有一个简单的索引控制器ActionResult:
// GET: Foo
public ActionResult Index()
{
return View(new Foo());
}
存在资源
的resx文件[resourceName, <strong>name of model is: {0}</strong>]
在razor视图中,将其渲染为
@Html.Raw(string.Format(Resources.resourceName, Model.Name))
正如Leigh shepherd指出的那样,您可以使用带有占位符和string.Format
的字符串来用实际值替换占位符。如果字符串包含任何HTML标签,它应该用Html.Raw
方法呈现。
@Html.Raw(string.Format(Resources.String, model.here))