【问题标题】:C# Gridview Data is there but it does not render on the pageC# Gridview 数据存在但不呈现在页面上
【发布时间】:2023-02-23 00:29:34
【问题描述】:

我有一个正在处理的 gridview,并且我之前已经获得了要填充的 gridview。但是这一次,我似乎无法显示它。我已经通过调试器并且能够验证绑定是否有效以及数据是否存储在 Gridview 中。我只是在页面上看不到它。

HTML:

 <asp:GridView 
    ID="gvData"
    runat="server"   
    AutoGenerateColumns="true"
    ViewStateMode="Enabled">
</asp:GridView>

C#代码:

try
{
    gvData.DataSource = GridData;
    gvData.DataBind();
}
catch(Exception ex)
{
    Response.Write(ex.Message);
}

lblParameterSpecs.Text = gvData.Rows[0].Cells[0].Text;

我有标签作为测试,标签返回正确的值,但网格没有出现在页面上。有人有什么建议吗?

同样,我能够确认 gridview.databind() 确实将数据锁定到 gridview 中,从标签文本中可以看出,但 gridview 是空白的。当我检查页面时,找不到 gridview 元素。

【问题讨论】:

  • 听起来更像是 CSS/Style- 而不是数据问题。如果在带有静态文本的 GridView 旁边放置一个标签,它会显示吗?
  • 由于您的 catch 语句,您似乎在搞乱响应,我认为您应该提供更多信息,执行 DataBind() 等的方法是什么。

标签: c# asp.net


【解决方案1】:

弄清楚了。调用程序填充 gridview 的按钮位于 ASP:UpdatePanel 标记内。我可以看到数据的标签也位于该标签内。 gridview 本身不是。

我忘了在标签中添加 postbacktrigger:

                          <asp:UpdatePanel runat ="server" ChildrenAsTriggers="true">
                              <Triggers>
                                    <asp:PostBackTrigger ControlID="btnExecSP" />
                              </Triggers>

【讨论】:

    猜你喜欢
    • 2017-05-11
    • 1970-01-01
    • 1970-01-01
    • 2017-11-22
    • 1970-01-01
    • 2017-05-25
    • 1970-01-01
    • 2020-02-22
    • 2021-04-05
    相关资源
    最近更新 更多