Właśnie stworzyłem nowe rozwiązanie WebForms i usunąłem bootstrap tylko po to, aby upewnić się, że żadne style CSS nie kolidują z moim kodem. Oto, co zrobiłem, aby odtworzyć twój problem.
aspx:
<asp:GridView runat="server" ID="grid" Style="width: 500px;">
<Columns>
<asp:TemplateField HeaderText="FirstName - TemplateField">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("FirstName") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
Jak widać, mam zdefiniowany jeden TemplateField bez dodatkowych stylów CSS.
kodzie:
public partial class _Default : Page
{
protected void Page_Load(object sender, EventArgs e)
{
grid.DataSource = GetPersons();
grid.DataBind();
}
public IEnumerable<Person> GetPersons()
{
for(int i = 0; i< 10; i++)
{
yield return new Person { FirstName = $"John{i}", LastName = "Doe", Age = i };
}
}
}
jestem po prostu powrocie 10 fikcyjnych elementów do tworzenia siatki demo. Nic niezwykłego.
Wynika to w Chrome i Internet Explorer:

Jak widać, nagłówki są wyśrodkowane domyślnie. Dotyczy to zarówno -BoundFields, jak i TemaplateFields.
Jeśli tak nie jest, zalecam sprawdzenie, czy inne style stykają się z Twoimi stylami. Wiem, że Bootstrap 3 domyślnie text-align: center
dla th
elementów (Bo właśnie zaznaczone)
moje pytanie brzmi "HeaderStyle-HorizontalAlign" nie działa. dzięki za odpowiedź. – AsifAli72090
Już napisałem, że najprawdopodobniej inny styl go przesłania. – Marco
Rozwiązałem problem dzięki za odpowiedź! – AsifAli72090