私は継承したプロジェクトを持っています。Web サイトの GridView で 2 つの列を削除し、他の 2 つの列に置き換えるように依頼されました。元のものを新しいものに置き換えるために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」が表示されるはずですが、表示されません。