【发布时间】: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);
};
运行此代码后,我希望在表格单元格中看到span1 和span2,但我什么也没看到。我不确定我在这里缺少什么。如果我使用 <asp:Label> 而不是 span,我会看到同样的问题,如果我尝试在页面上放置一个下拉列表并从 .cs 文件中填充值或选项,我会看到类似的问题。这可能是我在 Visual Studio 中设置项目的方式吗?我正在使用我认为合适的网络表单。
【问题讨论】:
-
我试过了,我看到了你期望看到的。只是为了好玩,尝试将
Response.Write("<p>Hello, world!</p>");添加到您的Page_Load方法中。会出现在页面上吗?我正在尝试确定您的方法是否正在执行。 -
它没有出现在页面上。任何想法为什么该方法可能无法执行?
-
看不到项目就更难说了。您确定代码在您添加表格的同一页面的代码隐藏中吗?它在服务器端表单中吗?是否还有与页面关联的 .aspx.designer.cs 文件?一种方法是创建新页面,确保您通过 VS 以“正常”方式进行操作,添加这些元素,然后查看它是否有效。如果是,请返回并查看该新页面与之前的页面有何不同。
-
我建议使用浏览器的开发工具在浏览器中调查页面的 html。首先确保你的表存在于html输出中,然后我们可以进一步检查
-
@ScottHannen 我听从了您创建新页面的建议,它与预期的输出一起工作。两个页面之间的区别在于第一页没有任何
<@ Page>标签或任何其他html 标签。我是这样做的,这样我就可以像这样将它包含在主页中<!-- #include file="titleTable.aspx"-->我想我需要找出一种不同的方法来包含 aspx 页面
标签: c# asp.net .net visual-studio