Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вставить компаненту в часть текста 
V
    Опции темы
Edd
Дата 1.2.2008, 11:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 200
Регистрация: 23.3.2006

Репутация: нет
Всего: 1



Есть string, 
Код

string Mask = @"<table border=1>
        <tr>
            <td>
                    <?Text?>
            </td>
        </tr>
        <tr>
            <td>
                    <?Button?>
            </td>
        </tr>
</table>";

Как в этот стринг где "<?Button?>", вставить (заменить) на кнопку "ButtonBack"?

Код

protected override void Render(HtmlTextWriter output)
{
.....
tmpOutStr =Mask ;
tmpOutStr = tmpOutStr.Replace("<?Text?>", "<div>....text..</div>");
....
    ButtonBack.RenderControl(output);//вот этот button надо вставить вместо <?Button?> в tmpOutStr
......
output.Write(tmpOutStr);
}

Помогите пожалуйста, может надо использовать ещё HtmlTextWriter или HtmlTextWriterAttribute, или что-то другое? smile 

Это сообщение отредактировал(а) Edd - 1.2.2008, 11:13
PM MAIL   Вверх
Mymik
Дата 1.2.2008, 11:59 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 50
Всего: 78



Edd, срендери контрол в строку -->> и используй String.Format() так будет легче, да и быстрее работать будет.

Код

protected override void Render(HtmlTextWriter output)
{
string Mask = @"<table border=1>
        <tr>
            <td>
                    {0}
            </td>
        </tr>
        <tr>
            <td>
                    {1}
            </td>
        </tr>
</table>";
    string outString = String.Format(Mask, "<div>....text..</div>", RenderToString(ButtonBack));
    output.Write(outString);
}

private string RenderToString(Control c)
{
    System.Text.StringBuilder sb = new StringBuilder();
    System.IO.StringWriter sw = new System.IO.StringWriter(sb);
    System.Web.UI.HtmlTextWriter htw = new HtmlTextWriter(sw);
    c.RenderControl(htw);
    return sb.ToString();
}



--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
Edd
Дата 1.2.2008, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 200
Регистрация: 23.3.2006

Репутация: нет
Всего: 1



 smile  smile 
Большое спасибо! 
private string RenderToString(Control c) - то, что надо было.
 smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0400 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.