从C#代码中显示ASP内容中的文本

时间:2014-07-11 14:07:41

标签: c# asp.net

这个问题很可能有一个简单的解决方案,但我无法弄清楚。我有一个带有以下代码的.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>

我希望能够从此页面后面的C#代码中编写文本(UpdateASV.aspx.cs)。每当我尝试:

Response.Write("some text");

它将代码放在content2占位符后面。我想要它在里面。是否有捷径可寻?

2 个答案:

答案 0 :(得分:2)

Response.Write直接修改响应。您不希望在Web表单应用程序中执行此操作。您应该从代码隐藏修改Label,Literal或PlaceHolder控件的内容。

使用Label将文本放入页面

使用Literal将原始html放入页面

使用PlaceHolder动态地向页面添加新控件。

无论哪种方式,控件(Label,Literal或PlaceHolder)在页面上的位置决定了页面在输出的呈现位置。

答案 1 :(得分: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") %>