Отображение текста в содержимом ASP из кода C #

1

У этого вопроса, скорее всего, есть простое решение, но я не могу понять это. У меня есть страница.aspx со следующим кодом:

<%@ Page Title="Update ASV Information" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="UpdateASV.aspx.cs" Inherits="COAF_Process_to_ASV_Relation_Tool.UpdateASV" %>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server" >
<asp:PlaceHolder ID="PlaceHolder1" runat="server">
</asp:PlaceHolder>
<asp:Button runat="server" ID="asv_update" OnClick="asvUpdate_Click" Text="Update    ASV" />
</asp:Content>

Я хочу иметь возможность писать текст из кода С# за этой страницей (UpdateASV.aspx.cs). Всякий раз, когда я пытаюсь:

Response.Write("some text");

Он помещает код в заголовок content2. Я хочу его внутри. Есть простой способ сделать это?

  • 2
    Есть ли причина не использовать Label или Literal ? Вы пытаетесь добавить текст на главную страницу со страницы ASPX?
  • 0
    В основном у меня есть этот заполнитель, генерирующий кучу текстовых полей динамически в коде позади, но я хочу, чтобы между ними были перерывы, поэтому я подумал, что мне понадобятся такие в реальном коде C #.
Показать ещё 1 комментарий
Теги:

2 ответа

2
Лучший ответ

Response.Write напрямую изменяет ответ. Вы не хотите делать это в своем приложении веб-форм. Вы должны изменять содержимое элемента Label, Literal или PlaceHolder из кода.

Использовать ярлык для ввода текста на страницу

Используйте Literal для добавления сырого html в страницу

Используйте PlaceHolder для динамического добавления новых элементов управления на страницу.

В любом случае размещение элемента управления (Label, Literal или PlaceHolder) на вашей странице определяет, где на странице будет отображаться ваш вывод.

  • 3
    И никому не рассказывай о веб-формах. Они могут заставить меня работать над приложением веб-форм.
0

Если вы настроены придерживаться элементов управления на стороне сервера:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostback)
    {
        Literal myText = new Literal() 
        { 
            Text = "some text" 
        };
        Content2.Controls.Add(myText);
    }
}

В противном случае просто введите код в строку

<%=Response.Write("some text") %>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню