You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将C#生成的内容嵌入Alert框或类似组件?

解决Razor页面中SQL查询结果显示在Alert框外的问题

嘿,作为刚接触C#和Visual Studio的新手,遇到这种渲染问题很正常~你的核心问题其实很简单:你把Razor的C#循环代码写在了Alert容器的外面,所以渲染后这些动态生成的内容自然会出现在Alert框的外部,而不是里面。

我给你调整一下代码,把动态内容放到Alert内部,同时优化代码显示的格式:

<div class="alert alert-dismissible alert-primary">
  <button type="button" class="close" data-dismiss="alert">&times;</button>
  <h4 class="alert-heading" style="text-align:center">Code generated:</h4>
  <p class="mb-0">Copy and paste the code below.</p>
  <!-- 把动态生成的代码放到Alert内部,用pre+code标签保留代码格式 -->
  <pre><code>
    @foreach (var row in db.Query(sql_getData7))
    {
        @row.TEST1@*- 这里注意你原来的连字符,如果是要输出连字符,改成@row.TEST1- 或者确认是不是笔误 -*@
    }
    @foreach (var row in db.Query(sql_getData5))
    {
        @row.TEST2@*- 同样检查连字符的需求 -*@
    }
    @foreach (var row in db.Query(sql_getData6))
    {
        @row.TEST3
    }
  </code></pre>
</div>

几个关键调整点:

  • 把Razor循环移到Alert的<div>内部:这样动态生成的内容会被包含在Alert容器里,不会跑到外面。
  • 用<pre><code>标签包裹代码:这两个标签组合可以保留代码的换行和缩进,避免你之前遇到的“显示效果差”的问题,让生成的代码看起来更规整,方便用户复制。
  • 检查循环里的连字符:你代码里的@row.TEST1-看起来有点奇怪,如果是要在每个TEST1值后面加连字符,那没问题;如果是笔误多打了,记得修正。

另外,如果你担心多个循环的内容连在一起不好看,可以在每个循环之间加个换行或者分隔符,比如在循环结束后加<br>或者在code里直接换行(pre标签会保留这些格式)。

内容的提问来源于stack exchange,提问作者brayk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:03:33