Javascript 使用动态HTML包装Razor页面

Javascript 使用动态HTML包装Razor页面,javascript,c#,razor,asp.net-core,razor-pages,Javascript,C#,Razor,Asp.net Core,Razor Pages,基本上,我想在Razor页面的输出周围包装一些动态生成的HTML。在本例中,假设字符串包装器正在从数据库接收动态HTML字符串。但是,它将始终包括 从example.cshtml.cs public async Task<IActionResult> OnGetAsync() { //wrapper will be dynamically assigned from database //but will also ALWAYS contain div

基本上,我想在Razor页面的输出周围包装一些动态生成的HTML。在本例中,假设
字符串包装器
正在从数据库接收动态HTML字符串。但是,它将始终包括

example.cshtml.cs

public async Task<IActionResult> OnGetAsync()
{
        //wrapper will be dynamically assigned from database
        //but will also ALWAYS contain div id=content

        string wrapper = @"<html><head></head><body><h1>HELLO</h1>" &_
                "<div id="content"></div></body></html>"

        return Page();
    }

您如何使用Razor Pages、asp.net core 2.2和/或javascript实现这一点?

您可以在页面加载后使用Jquery将文本移动到
content
div:

代码隐藏:

public string Content { get; set; } 

public async Task<IActionResult> OnGetAsync()
{
    //wrapper will be dynamically assigned from database
    //but will also ALWAYS contain div id=content

    string wrapper = @"<html><head></head><body><h1>HELLO</h1><div id='content'></div></body></html>";
    Content = wrapper;

    return Page();
}
公共字符串内容{get;set;}
公共异步任务OnGetAsync()
{
//包装器将从数据库中动态分配
//但也将始终包含div id=content
字符串包装器=@“HELLO”;
内容=包装;
返回页();
}
剃须刀页面:

<p id="orginalConent">this is a test</p>

@Html.Raw(@Model.Content)

@section Scripts {
    <script>
        $(function () {
            var orginalConent = $("#orginalConent");
            $('#content').append($('<p>').text(orginalConent.text()));
            orginalConent.remove();           
        })

    </script>

}
这是一个测试

@Html.Raw(@Model.Content) @节脚本{ $(函数(){ var orginalConent=$(“#orginalConent”); $(“#content”).append($(“”).text(orginalConent.text()); 删除(); }) }
public string Content { get; set; } 

public async Task<IActionResult> OnGetAsync()
{
    //wrapper will be dynamically assigned from database
    //but will also ALWAYS contain div id=content

    string wrapper = @"<html><head></head><body><h1>HELLO</h1><div id='content'></div></body></html>";
    Content = wrapper;

    return Page();
}
<p id="orginalConent">this is a test</p>

@Html.Raw(@Model.Content)

@section Scripts {
    <script>
        $(function () {
            var orginalConent = $("#orginalConent");
            $('#content').append($('<p>').text(orginalConent.text()));
            orginalConent.remove();           
        })

    </script>

}