gpt4 book ai didi

c# - 我的数据 GridView 未在浏览器中显示

转载 作者:太空宇宙 更新时间:2023-11-03 17:33:48 25 4
gpt4 key购买 nike

我是编程新手。对不起,如果我问了一个愚蠢的问题。我必须显示位于数据 GridView 中的数据源中的表的某些列。它连接到数据源,如果我没记错的话,它充满了数据。但是当我运行该元素时,在浏览器中查看时它不显示任何内容。

非常感谢您的帮助。先感谢您。

也就是可能的菜单页面代码:

<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Menu.aspx.cs" Inherits="Menu" %>

<asp:Content ID="Content1" ContentPlaceHolderID="title" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="contentbody" Runat="Server">
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="Left" Runat="Server">
<asp:Label ID="Label1" runat="server" Text="Menu and Categories"></asp:Label>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" Width="83px" ShowHeader="False" CssClass="myGrid">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server"
Text='<%# Eval("BookTypeName")%>'
OnCommand="Get_Category"
CommandName='<%#Eval("BookTypeID")%>'>LinkButton</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>

<asp:Label ID="LableErr" runat="server" Text="An error occured"></asp:Label>
</asp:Content>

这是 menu.aspx.cs 形式的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;

public partial class Menu : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
DataTable bookTypes;
eLibraryServer.DAL oDAL = new eLibraryServer.DAL();
try
{
bookTypes = oDAL.getBookTypes();
GridView1.DataSource = bookTypes.DefaultView;
GridView1.DataBind();
}
catch (Exception ex) { LableErr.Text = "No Link to data Server"; }

}
public void Get_Category(object Src, CommandEventArgs Args)
{
Response.Redirect("Menu.aspx?Category=" + Args.CommandName);
}
}

这是我的 CSS 代码:

body, div,p,ul,li {
padding:0 ;
margin:0;
background-color:rgb(237,237,237);
font-family: Arial, Arial, Helvetica, sans-serif;
font-size: 12px;
}

.body {

font-family: "Arial", Helvetica, sans-serif;
font-size: 12px;
}
/*.wrapper {
width:950;
margin:auto;
}*/

.logo1 {
width: 100%;
height: 150px;

top: 40px;
left: 10px;
z-index: 1000
}


.content {
width:50%;
background-color: rgb(254,254,254);
border: 1px solid rgb(224,224,224);

float: right;
margin-left: auto;
margin-right:10px;
margin-top: 8px;
margin-bottom: 8px;
min-height: 500px;
}
.leftcontent {
width:30%;
background-color: rgb(254,254,254);
border: 1px solid rgb(224,224,224);

float: left;
margin-left: 10px;
margin-right:auto;
margin-top: 8px;
margin-bottom: 8px;
min-height: 500px;

}

.image {
width:100%;
height:200px;
}

.menu {
background-color: rgb(251, 240, 28);
width:100%;
margin: 0px 0px 10px;
padding: 0px;
height:20px;
color: rgb(243, 243, 243);
border-radius: 5px 5px 5px 5px;
border: thin outset #A9A9A9 !important;

}
.navigation_first_item {
border-left: 0px;
border-radius: 5px 0 0 5px;
}
.navitem_s {
float:left;
border-right: 1px solid rgb(10,85,125);
border-left: 1px solid rgb(67,153,200);
height: 40px;
background-color: rgb(14,79,114);

}
.menu ul {

}
.menu ul li {
float:left;
display:block;
list-style: none;
border-right: 1px solid rgb(10,85,125);
border-left: 1px solid rgb(67,153,200);


}
.menu ul li.navigation_first_item:hover {
border-radius: 5px 0px 0px 5px;
}


.menu ul li a {
font-size: 13px;
font-weight: bold;
line-height:40px;
padding:8px 20px;
color: rgb(255 255 255);
text-decoration:none;
}

menu ul li:hover {
background-color: rgb(14,79,144);
border-right:1px solid rgb(14,89,130);
}
.clear {
clear: both;
}
.footer {
height:50px;
background-color: rgb(251, 240, 28);
color: rgb(255,255,255);
border-radius: 5px 5px 5px 5px;
}
.footer.h2 {
padding:15px;
text-align: center;
}
.leftcontent.myGrid {
width: 30%;
background-color: #fff;
margin: 5px 0 10px 0;
border: solid 1px #525252;
border-collapse:collapse;
}

最佳答案

我现在看到的问题可能是因为你设置了AutoGenerateColumns="False"因此 GridView 期待 <Columns> 中的绑定(bind)字段部分。我建议从数据表中为所有必需的绑定(bind)列创建部分或设置 AutoGenerateColumns="true"自动绑定(bind)数据集中的这些列。

其他 list

检查您的 DataTable bookTypes是空的。

我建议在它为空时添加一个固定的标题以至少显示网格

private void FixGridHeader(DataTable bookTypes)
{
//add blank row to the the resultset
bookTypes.Rows.Add(dataSource.NewRow());
bookTypes.Rows[0]["field1"] = 0;
bookTypes.Rows[0]["field2"] = 0;
bookTypes.Rows[0]["field3"] = 0;

GridView1.DataSource = bookTypes;
GridView1.DataBind();

//hide empty row
GridView1.Rows[0].Visible = false;
}

然后检查以确定网格是否会加载,或者是否可以显示空标题。

if (bookTypes.Rows.Count > 0)
{
//Load Grid
}
else
{
FixGridHeader(bookTypes);
//Can also add an label as alternative
}

我也会检查 CssClass="myGrid"确保没有 display:nonevisibility:hidden样式表中设置的方法

关于c# - 我的数据 GridView 未在浏览器中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30072519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com