Могу ли я динамически добавлять HTML внутри тега div из C # при событии загрузки? - PullRequest
44 голосов
/ 22 января 2009

Имейте в виду, я использую главные страницы, но могу ли я найти div на странице и добавить туда html? Благодарю.

Ответы [ 5 ]

80 голосов
/ 22 января 2009

Вы можете добавить div с runat = "server" на страницу:

<div runat="server" id="myDiv">
</div>

и затем установите его свойство InnerHtml из выделенного кода:

myDiv.InnerHtml = "your html here";

Если вы хотите изменить содержимое DIV на стороне клиента, вы можете использовать код JavaScript, подобный следующему:

<script type="text/javascript">
    Sys.Application.add_load(MyLoad);
    function MyLoad(sender) {
        $get('<%= div.ClientID %>').innerHTML += " - text added on client";
    }
</script>
15 голосов
/ 22 января 2009

Используйте asp:Panel для этого. Это переводит в div.

5 голосов
/ 10 апреля 2013

Не забывайте использовать

myDiv.InnerHtml = "something";

заменит все элементы HTML в myDIV. вам нужно добавить текст, чтобы избежать этого. В этом может помочь

myDiv.InnerHtml = "something" + myDiv.InnerText;

любой элемент управления html в myDiv, но не элементы управления html ASP (поскольку они еще не отображаются).

3 голосов
/ 22 января 2009

Вы можете ссылаться на элементы управления внутри главной страницы следующим образом:

void Page_Load()
{
    ContentPlaceHolder cph;
    Literal lit;

    cph = (ContentPlaceHolder)Master.FindControl("ContentPlaceHolder1");

    if (cph != null) {
        lit = (Literal) cph.FindControl("Literal1");
        if (lit != null) {
            lit.Text = "Some <b>HTML</b>";
        }
    }

}

В этом примере вы должны поместить элемент управления Literal в ваш ContentPlaceholder.

1 голос
/ 22 января 2009

Вы хотите поместить код в код главной страницы, который вставляет HTML в содержимое страницы, которая использует эту главную страницу?

Я бы не стал искать элемент управления через FindControl, поскольку это хрупкое решение, которое можно легко сломать, если изменить имя элемента управления.

Лучше всего объявить на главной странице событие, которое может обработать любая дочерняя страница. Событие может передать HTML как EventArg.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...