【问题标题】:Dynamic span tag within a table cell not loading the text in the view表格单元格中的动态跨度标记未加载视图中的文本
【发布时间】:2019-01-02 17:06:31
【问题描述】:

我刚开始学习 asp.net 和 C#,我正在尝试在 asp 页面中设置一个表。该表将有两列和一行,并且两个单元格都有可以从数据库端更改的文本。我有以下测试代码,它应该基于网络上的各种来源工作。然而,它不是。我不知道为什么不。 ASP代码:

    <asp:table class="pageTitle" runat="server">
    <asp:TableRow id="row1">
            <asp:TableCell class="pageTitle" id="cell1">

            </asp:TableCell>
            <asp:TableCell class="pageTitle" id="cell2" >

            </asp:TableCell>            
        </asp:TableRow>
</asp:table>

C#:

         protected void Page_Load(object sender, EventArgs e)
    {
        var span1 = new HtmlGenericControl("span");
        span1.InnerHtml = "span1";
        cell1.Controls.Add(span1);

        var span2 = new HtmlGenericControl("span");
        span2.InnerHtml = "span2";
        cell2.Controls.Add(span2);

    };

运行此代码后,我希望在表格单元格中看到span1span2,但我什么也没看到。我不确定我在这里缺少什么。如果我使用 &lt;asp:Label&gt; 而不是 span,我会看到同样的问题,如果我尝试在页面上放置一个下拉列表并从 .cs 文件中填充值或选项,我会看到类似的问题。这可能是我在 Visual Studio 中设置项目的方式吗?我正在使用我认为合适的网络表单。

【问题讨论】:

  • 我试过了,我看到了你期望看到的。只是为了好玩,尝试将Response.Write("&lt;p&gt;Hello, world!&lt;/p&gt;"); 添加到您的Page_Load 方法中。会出现在页面上吗?我正在尝试确定您的方法是否正在执行。
  • 它没有出现在页面上。任何想法为什么该方法可能无法执行?
  • 看不到项目就更难说了。您确定代码在您添加表格的同一页面的代码隐藏中吗?它在服务器端表单中吗?是否还有与页面关联的 .aspx.designer.cs 文件?一种方法是创建新页面,确保您通过 VS 以“正常”方式进行操作,添加这些元素,然后查看它是否有效。如果是,请返回并查看该新页面与之前的页面有何不同。
  • 我建议使用浏览器的开发工具在浏览器中调查页面的 html。首先确保你的表存在于html输出中,然后我们可以进一步检查
  • @ScottHannen 我听从了您创建新页面的建议,它与预期的输出一起工作。两个页面之间的区别在于第一页没有任何&lt;@ Page&gt; 标签或任何其他html 标签。我是这样做的,这样我就可以像这样将它包含在主页中 &lt;!-- #include file="titleTable.aspx"--&gt; 我想我需要找出一种不同的方法来包含 aspx 页面

标签: c# asp.net .net visual-studio


【解决方案1】:

你的页面上有这样的行吗

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default7.aspx.cs" Inherits="Default7" %>

【讨论】:

    猜你喜欢
    • 2013-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-26
    • 2023-03-31
    • 1970-01-01
    相关资源
    最近更新 更多