Я хотел бы локализовать мою aspx-страницу.
Это должно включать в себя динамически созданные LinkButtons в GridView внутри InstantiateIN
(поправка 1: реализация System.Web.UI.ITemplate.InstantiateIN метод для управления внешним видом GridView)
(поправка 2: добавлены первые шесть строк кода, чтобы лучше указать расположение другого кода)
Но внутри InstantiateIN я не могу использовать (см.) метод GetLocalResourceObject
Решение: используйте переменную сеанса
Вопрос : Почему я не могу использовать GetLocalResourceObject внутри InstantiateIN?
следующеепроисходит внутри InIntiateateIN
public class DynamicTemplateGridViewSearch : ITemplate
{
public void InstantiateIn(System.Web.UI.Control Container)
{
switch (ItemType)
{
case ListItemType.Item:
switch (InfoType)
{
case "Command":
{
LinkButton search_button = new LinkButton();
search_button.ID = "search";
search_button.CommandName = "Edit";
//following line does not work. Error is:
//The name 'GetLocalResourceObject' does not exist in the current context
search_button.Text = GetLocalResourceObject("SearchButtonResource1.Text").ToString();
//so I have to create a Session-String in Page_Load
//which is referenced here
search_button.Text = (string)new Page().Session["SearchText"]; // "Search";
search_button.Click += new EventHandler(search_button_Click);
Container.Controls.Add(search_button);