如何删除ASP中的空行?当使用EmptyDataTemplate时.NET GridView
本文关键字:EmptyDataTemplate GridView NET 何删除 删除 ASP | 更新日期: 2023-09-27 18:10:49
我有一个ASP。. NET GridView,我想在GridView为空时显示一系列文本框,以便用户可以添加更多数据。从功能上讲,它都是有效的,但当它呈现时,它似乎在标题和我的文本框行之间有一个额外的行。
<table class="grid" cellspacing="0" rules="all" border="1" id="ContentPlaceHolder1_gridViewReferences" style="border-collapse:collapse;">
<tr>
<th align="left" scope="col" style="width:50px;">Id</th><th align="left" scope="col">Reference</th><th align="left" scope="col" style="width:400px;">Source</th><th align="left" scope="col" style="width:50px;">Edit</th><th align="left" scope="col" style="width:50px;">Delete</th>
</tr><tr>
<td colspan="5">
<tr style="background-color: #E8ECED;">
<td>
<span style="display:inline-block;width:50px;">0</span>
</td>
<td>
<input name="ctl00$ContentPlaceHolder1$gridViewReferences$ctl02$textBoxReference" type="text" id="ContentPlaceHolder1_gridViewReferences_textBoxReference" class="ZenStyle" style="width:100%;" />
</td>
<td>
<input name="ctl00$ContentPlaceHolder1$gridViewReferences$ctl02$textBoxSource" type="text" id="ContentPlaceHolder1_gridViewReferences_textBoxSource" class="ZenStyle" style="width:400px;" />
</td>
<td>
<a id="ContentPlaceHolder1_gridViewReferences_LinkButton1" href="javascript:__doPostBack('ctl00$ContentPlaceHolder1$gridViewReferences$ctl02$LinkButton1','')" style="display:inline-block;width:50px;">Insert</a>
<div id="ContentPlaceHolder1_gridViewReferences_ValidationSummary1" style="display:none;">
</div>
</td>
<td></td>
</tr>
</td>
</tr>
</table>
当我检查呈现的HTML确实有一个额外的行,但我不能锻炼如何添加我的文本框或删除它。我的网格.aspx代码…我没有包括背后的代码或样式,因为我认为它不相关。
<asp:GridView ID="gridViewReferences" runat="server" AutoGenerateColumns="False" CssClass="grid" EnableViewState="false"
AlternatingRowStyle-CssClass="gridAltRow" RowStyle-CssClass="gridRow" ShowFooter="True"
EditRowStyle-CssClass="gridEditRow" FooterStyle-CssClass="gridFooterRow" OnRowCancelingEdit="gridViewReferences_RowCancelingEdit"
OnRowCommand="gridViewReferences_RowCommand" OnRowDataBound="gridViewReferences_RowDataBound" OnRowDeleting="gridViewReferences_RowDeleting"
OnRowEditing="gridViewReferences_RowEditing" OnRowUpdating="gridViewReferences_RowUpdating" DataKeyNames="Id" ShowHeaderWhenEmpty="true">
<Columns>
<%--ID column ( which also acts as the key )--%>
<asp:TemplateField HeaderText="Id" HeaderStyle-HorizontalAlign="Left">
<HeaderStyle Width="50" />
<ItemStyle Width="50" />
<ItemTemplate>
<%# Eval("Id")%>
</ItemTemplate>
</asp:TemplateField>
<%--Reference column--%>
<asp:TemplateField HeaderText="Reference" HeaderStyle-HorizontalAlign="Left">
<EditItemTemplate>
<asp:TextBox Width="100%" ID="textBoxReference" runat="server" Text='<%# Bind("Reference") %>' CssClass="ZenStyle"></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox Width="100%" ID="textBoxReference" runat="server" CssClass="ZenStyle"></asp:TextBox>
</FooterTemplate>
<ItemTemplate>
<%# Eval("Reference") %>
</ItemTemplate>
</asp:TemplateField>
<%--Source column--%>
<asp:TemplateField HeaderText="Source" HeaderStyle-HorizontalAlign="Left">
<HeaderStyle Width="400" />
<ItemStyle Width="400" />
<EditItemTemplate>
<asp:TextBox Width="100%" ID="textBoxSource" runat="server" Text='<%# Bind("Source") %>' CssClass="ZenStyle"></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label Width="100%" ID="lblEmail" runat="server" Text='<%# Eval("Source")%>' CssClass="ZenStyle" />
</ItemTemplate>
<FooterTemplate>
<asp:TextBox Width="100%" ID="textBoxSource" runat="server" CssClass="ZenStyle" />
</FooterTemplate>
</asp:TemplateField>
<%--Edit / Update column--%>
<asp:TemplateField HeaderText="Edit" ShowHeader="False" HeaderStyle-HorizontalAlign="Left">
<HeaderStyle Width="50" />
<ItemStyle Width="50" />
<EditItemTemplate>
<asp:LinkButton ID="lnkUpdate" runat="server" CausesValidation="false" CommandName="Update2"
Text="Update" ValidationGroup="Update"></asp:LinkButton>
<asp:LinkButton ID="lnkCancel" runat="server" CausesValidation="False" CommandName="Cancel"
Text="Cancel"></asp:LinkButton>
</EditItemTemplate>
<FooterTemplate>
<asp:LinkButton ID="lnkAdd" runat="server" CausesValidation="True" CommandName="Insert" ValidationGroup="Insert" Text="Insert"></asp:LinkButton>
<asp:ValidationSummary ID="vsInsert" runat="server" ShowMessageBox="true" ShowSummary="false"
ValidationGroup="Insert" Enabled="true" HeaderText="Validation..." />
</FooterTemplate>
<ItemTemplate>
<asp:LinkButton ID="lnkEdit" runat="server" CausesValidation="False" CommandName="Edit"
Text="Edit"></asp:LinkButton>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Left" />
</asp:TemplateField>
<%--Delete column--%>
<asp:TemplateField HeaderText="Delete" ShowHeader="False" HeaderStyle-HorizontalAlign="Left">
<HeaderStyle Width="50" />
<ItemStyle Width="50" />
<ItemTemplate>
<asp:Button ID="lnkDelete" runat="server" CausesValidation="False" CommandName="Delete" CssClass="myButton"
Text="Delete" OnClientClick="return confirm('Delete?')"></asp:Button>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Left" />
</asp:TemplateField>
</Columns>
<EmptyDataTemplate>
<tr style="background-color: #E8ECED;">
<td>
<asp:Label Width="50px" runat="server">0</asp:Label>
</td>
<td>
<asp:TextBox Width="100%" ID="textBoxReference" runat="server" Text='<%# Bind("Reference") %>' CssClass="ZenStyle"></asp:TextBox>
</td>
<td>
<asp:TextBox Width="400px" ID="textBoxSource" runat="server" Text='<%# Bind("Source") %>' CssClass="ZenStyle"></asp:TextBox>
</td>
<td>
<asp:LinkButton Width="50px" ID="LinkButton1" runat="server" CausesValidation="True" CommandName="Insert" ValidationGroup="Insert" Text="Insert"></asp:LinkButton>
<asp:ValidationSummary ID="ValidationSummary1" runat="server" ShowMessageBox="true" ShowSummary="false" ValidationGroup="Insert" Enabled="true" HeaderText="Validation..." />
</td>
<td></td>
</tr>
</EmptyDataTemplate>
</asp:GridView>
你可以处理这个
<EmptyDataRowStyle CssClass="EmptyDataClass" />
<EmptyDataTemplate>
...
</EmptyDataTemplate>
在你的css中:
.EmptyDataVacancyClass {
display: none;
}