为什么在绑定网格视图后,按钮字段变为空字段?

问题描述 投票:0回答:1

enter image description here我在gridview中有一个按钮可以打印每一行。但是使用ajax绑定后,按钮将变为空。

 <asp:BoundField DataField="VisM_No" HeaderText="Visit No." />
                                    <asp:BoundField DataField="VisM_Date" HeaderText="Visit Date" />
                                    <asp:BoundField DataField="Pat_name" HeaderText="Patient Name" />
                                    <asp:TemplateField Visible="true" ItemStyle-CssClass="btnPdf">
                                        <ItemTemplate>
                                            <asp:Button ID="btnPrint" Text="Print PDF" runat="server" CssClass="btn btn-info" CommandName="PrintPDF"/>
                                        </ItemTemplate>
                                    </asp:TemplateField>
c# jquery asp.net ajax
1个回答
0
投票

我怀疑问题在于数据绑定到网格的方式。

这里是一个工作示例,演示了启用AJAX的GridView:

<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>

        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" CssClass="table table-bordered table-hover">
            <Columns>
                <asp:BoundField DataField="VisM_No" HeaderText="Visit No." />
                <asp:BoundField DataField="VisM_Date" HeaderText="Visit Date" />
                <asp:BoundField DataField="Pat_name" HeaderText="Patient Name" />
                <asp:TemplateField Visible="true" ItemStyle-CssClass="btnPdf">
                    <ItemTemplate>
                        <asp:Button ID="btnPrint" Text="Print PDF" runat="server" CssClass="btn btn-info" CommandName="PrintPDF" />
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>
    </ContentTemplate>
</asp:UpdatePanel>
protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        GridView1.DataSource = Enumerable.Range(1, 3).Select(x => new {
            VisM_No = x,
            VisM_Date = DateTime.Now,
            Pat_name = "Name " + x

        });
        GridView1.DataBind();
    }
}

结果:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.