【发布时间】:2017-04-17 21:50:08
【问题描述】:
我在 aspx 页面中有以下代码,它从母版页继承
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
<script type="text/javascript" src="https://cdn.datatables.net/1.10.14/js/jquery.dataTables.min.js"></script>
<link type="text/css" href="https://cdn.datatables.net/1.10.14/css/jquery.dataTables.min.css" rel="stylesheet" />
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="cntHeader" runat="server"></asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="cntContent" runat="server">
<div class="table-responsive">
<table id="myTable" class="table table-striped" >
<asp:GridView ID="gvState" runat="server" CssClass="gvdatatable" AutoGenerateColumns="true" >
<Columns>
<asp:BoundField DataField="Supplier_Name" HeaderText="Name" ItemStyle-Width="150" />
<asp:BoundField DataField="Supplier_Email" HeaderText="Email" ItemStyle-Width="150" />
</Columns>
</asp:GridView>
</table>
</div>
<script type="text/javascript">
$(document).ready(function () {
$('.gvdatatable').dataTable({});
});
</script>
</asp:Content>
我的代码是
public partial class WebForm1 : System.Web.UI.Page
{
clsSupplier objsupplier = new clsSupplier();
protected void Page_Load(object sender, EventArgs e)
{
DataSet ds = objsupplier.GetAllSuppliers();
gvState.DataSource = ds;
gvState.DataBind();
if (!IsPostBack)
{
this.gvState.ShowFooter = true;
this.gvState.UseAccessibleHeader = true;
gvState.HeaderRow.TableSection = TableRowSection.TableHeader;
gvState.FooterRow.TableSection = TableRowSection.TableFooter;
}
}
}
GetAllSuppliers 包含所有数据。它包含来自 db 的 8 个字段和值,我不想显示所有这 8 个字段及其 值,但只有 2 个字段。
但是我在 aspx 页面中写的任何东西都不起作用。您可以看到我只使用了姓名和电子邮件,但它显示了数据库表中的所有 8 列。
如何限制这是 asp.net 页面?因为我无权访问 数据库部分并获取所有记录。我使用数据表来显示 数据。
【问题讨论】:
标签: c# asp.net datagrid datatables