gpt4 book ai didi

c# - 使用波浪号 (~) 存储路径并在 razor 中使用 html.raw 显示它

转载 作者:太空宇宙 更新时间:2023-11-03 22:31:33 25 4
gpt4 key购买 nike

我有一个 razor 模板 index.cshtml 并且想在一个变量中存储一些 HTML 标记:

@{
var markup = @"<img src=""~/images/image.png"">";
}

现在我想通过@Html.Raw() 在页面的任何位置显示它。

<div>    
@Html.Raw(markup)
</div>

波浪号 (~) 将按预期显示为字符而不是根路径。所以客户端将无法加载这个错误的图像源 ~/images/image.png。

是否有可能在变量中获取引用或转换的正确路径,就像在该 View 模板中直接编写标记时的行为一样?

最佳答案

您可以使用 Url.Content像这样的方法:

var markup = $@"<img src=""{Url.Content("~/images/image.png")}"">";

或者,如果您更喜欢使用 string.Format 而不是 $:

var markup = string.Format(@"<img src=""{0}"">", Url.Content("~/images/image.png"));

这会将“~/images/image.png”转换为应用程序绝对路径,因此实际输出类似于

<img src="/images/image.png">

关于c# - 使用波浪号 (~) 存储路径并在 razor 中使用 html.raw 显示它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57392924/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com