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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么在绑定网格视图后,按钮字段变为空字段?相关的知识,希望对你有一定的参考价值。

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>
答案

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

这里是一个工作示例,演示了启用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

以上是关于为什么在绑定网格视图后,按钮字段变为空字段?的主要内容,如果未能解决你的问题,请参考以下文章

非空日期如何在视图中变为可空

工具栏视图引用从对话框片段返回后变为空

FormArray 值变为空错误:找不到名称为“0”的控件

获取表格视图中按钮单击的文本字段值

从另一个视图重新绑定剑道网格到以前的搜索条件的正确方法是啥(后退按钮不起作用)

如何使用 CSS 字段样式在网格中水平居中视图字段