gpt4 book ai didi

razor - 如何在asp.net核心中定义返回html的函数

转载 作者:行者123 更新时间:2023-12-04 11:00:07 26 4
gpt4 key购买 nike

基本上我需要像旧的 asp.net 这样的东西

@helper MakeNote(string content) {
<p><strong>Note</strong>&nbsp;&nbsp; @content </p>
}

或 JSX
MakeNote(note) {
return (<div>Note {note}</div>);
}

局部 View 不是一种选择。我对返回 IHtmlString 的函数或写入底层编写器的函数感到满意。

它还需要在函数内部支持 Razor 语法(不仅仅是字符串连接)。

最佳答案

ASP.NET Core 3.0 ,我们可以声明本地函数 在 Razor 代码块中包含用作模板方法的标记:

@{
void RenderName(string name)
{
<p>Name: <strong>@name</strong></p>
}

RenderName("Mahatma Gandhi");
RenderName("Martin Luther King, Jr.");
}

呈现以下 HTML 代码:
<p>Name: <strong>Mahatma Gandhi</strong></p>
<p>Name: <strong>Martin Luther King, Jr.</strong></p>

文档: https://docs.microsoft.com/en-us/aspnet/core/mvc/views/razor?view=aspnetcore-3.0#razor-code-blocks

(只是为了完成)在 ASP.NET Core 2.0 我们可以使用 模板化 Razor 代表 ,与 <text></text> 结合razor 标记(显式分隔转换),允许我们制作类似于过去的 ASP.NET MVC @helper标签:
@{
Func<string, object> RenderName = @<text>
<p>
Name: <strong>@item</strong>
</p>;
</text>;
}

<div>
@RenderName("Victor")
</div>

呈现以下 HTML 代码:
<div>
<p>
Name: <strong>Victor</strong>
</p>
</div>

文档: https://docs.microsoft.com/en-us/aspnet/core/mvc/views/razor?view=aspnetcore-2.0#templated-razor-delegates

文档 <text></text> : https://docs.microsoft.com/en-us/aspnet/core/mvc/views/razor?view=aspnetcore-2.0#razor-code-blocks

关于razor - 如何在asp.net核心中定义返回html的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52104286/

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