загрузите пользовательский элемент управления программно в устройству записи текста HTML

Чтобы заставить sort отсортировать второй столбец, вы должны использовать команду вроде:

grep "needle" /path/to/logs/* | sort -k2

Чтобы использовать для сортировки только второй столбец, вы должны использовать его следующим образом: [114 ]

grep "needle" /path/to/logs/* | sort -k2,2
6
задан craigmoliver 3 November 2008 в 14:51
поделиться

3 ответа

Я использовал следующий код, предоставленный Scott Guthrie в его блоге в течение достаточно долгого времени:

public class ViewManager
{
    public static string RenderView(string path, object data)
    {
        Page pageHolder = new Page();
        UserControl viewControl = (UserControl) pageHolder.LoadControl(path);

        if (data != null)
        {
            Type viewControlType = viewControl.GetType();
            FieldInfo field = viewControlType.GetField("Data");
            if (field != null)
            {
                field.SetValue(viewControl, data);
            }
            else
            {
                throw new Exception("ViewFile: " + path + "has no data property");
            }
        }

        pageHolder.Controls.Add(viewControl);
        StringWriter result = new StringWriter();
        HttpContext.Current.Server.Execute(pageHolder, result, false);
        return result.ToString();
    }
}

object data параметр, включает динамическую загрузку данных в пользовательский элемент управления и может использоваться для введения больше чем одной переменной в управление через массив или что-то подобное.

Этот код запустит все нормальные события в управление.

Можно читать больше об этом здесь

Отношения Jesper Hauge

13
ответ дан 8 December 2019 в 14:48
поделиться

Необходимо было бы присоединить управление к Странице путем добавления его к набору Средств управления Страницы или Управления на странице. Это не решит все Ваши проблемы, если Вы не сделаете что-то для явного отключения рендеринга во время нормального события рендеринга страницы.

2
ответ дан 8 December 2019 в 14:48
поделиться

Я взял метод Хауге / Скотта Гатри, описанный выше, и настроил его так, чтобы вам не нужно было использовать отражение или изменять UserControl для реализации какого-либо специального интерфейса. Ключ в том, что я добавил строго типизированный обратный вызов, который метод RenderView выше вызывает вместо отражения.

Я написал в блоге вспомогательный метод и его использование здесь

HTH, Джон

1
ответ дан 8 December 2019 в 14:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: