我有一个我继承的项目。我被要求删除网站上 GridView 中的两列,并用另外两列替换它们。我已经更改了 html 以用新的替换原件,但是列标题名称似乎不想更改。我已经在调试器打开的情况下运行了代码,并在代码 c# 代码的第一行中断,然后再执行任何操作并检查 gridview 对象。它已经分配了这些列名,我不知道如何。我已经搜索了原始列名,但无法在任何地方找到它们。
基本上,我的问题是在页面真正加载之前控制列的名称是什么?每次我对此进行搜索时,都会有人想以编程方式对其进行更改,但这似乎并不是我所知道的问题所在。我试图像这里建议的那样进入对象的属性,但它显示的是新字段而不是旧字段。
以下是创建此网格视图和对象的相关(我相信)HTML 代码。
<asp:GridView ID="gvTopSearch" runat="server" AllowPaging="True"
AllowSorting="True" PageSize="15" AutoGenerateColumns="False"
DataKeyNames="NID,CID" Width="100%" OnPageIndexChanging="gvTopSearch_PageIndexChanging"
OnSorting="gvTopSearch_Sorting"
onrowdatabound="gvTopSearch_RowDataBound"
meta:resourcekey="gvTopSearchResource1" >
<Columns>
<asp:TemplateField SortExpression="NewField1" HeaderText="NewField1"
meta:resourcekey="TemplateFieldResource5">
<ItemTemplate>
<%#Eval("NewField1")%>
</ItemTemplate>
<HeaderStyle Width="75px" />
</asp:TemplateField>
<asp:TemplateField SortExpression="NewField2" HeaderText="NewField2"
meta:resourcekey="TemplateFieldResource6">
<ItemTemplate>
<%#Eval("NewField2")%>
</ItemTemplate>
<HeaderStyle Width="75px" />
</asp:TemplateField>
</Columns>
<AlternatingRowStyle CssClass="fieldName" HorizontalAlign="Left" />
<EmptyDataTemplate>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td align="center" style="padding-top: 50px; padding-bottom: 50px; padding-left: 60px;">
<img src="" alt="" />
<b>
</b>
</td>
</tr>
</table>
</EmptyDataTemplate>
<HeaderStyle CssClass="fieldNamewithbgcolor" HorizontalAlign="Left" />
<PagerStyle CssClass="Paging" />
<RowStyle CssClass="gridbgcolor" HorizontalAlign="Left" />
</asp:GridView>
“NewField1”和“NewField2”应该显示但没有显示。