asp.net 如何在Razor中创建一个渲染HTML的函数?

5t7ly7z5  于 12个月前  发布在  .NET
关注(0)|答案(1)|浏览(193)

我只是想在asp.net中组织我的代码,这样我就可以创建函数块来生成cshtml的不同部分.
abc.cshtml:

@functions {
    public void TableHeaders()
    {
        <th> @property.Name </th>
     }

}
 
<div> 
    @TableHeaders()
</div>

字符串
所以,我尝试了额外的不同选择:
1:@helper(不支持helper指令)
2:声明Func<string,object(or IHtmlContent)> TableHeaders将返回System.Func`2[System.Object,Microsoft.AspNetCore.Html.IHtmlContent]
3:我不想要Html.Raw($@"”),它只会让代码闻起来很糟糕,因为你很容易错过一个html标签
如果你以前使用过React,你可以很容易地从函数调用中返回一个jsx,如果在Razor页面中有类似的东西就好了。

c9qzyr3d

c9qzyr3d1#

你差不多就完成了。正确的语法是:

@functions {
    async Task TableHeaders()
    {
        <th> @property.Name </th>
     }

}
 
<div> 
    @{ await TableHeaders(); }
</div>

字符串
缺乏相关文件是令人痛苦的(IMO)

相关问题