ASP.NET内容页面动态内容出现在HTML输出的顶部

时间:2011-02-25 17:13:24

标签: c# asp.net

我是ASP.net的新手。我有一个c#内容页面,我希望在HTML中将这段代码插入一半:

<%
HttpResponse r = Response;
r.Write(HttpContext.Current.Request.ServerVariables["SERVER_NAME"]); 
%>

但是当我查看该页面时,这个内容首先出现在标签之前。

有关如何内联此代码的任何想法吗?

谢谢!

修改 我想给所有回答这个问题的人添加一个说明来解释你做了什么。 你节省了宝贵的时间来帮助我,一个陌生人,在工作中解决一个棘手的问题,这让我可以在周五晚上离开办公室,赶上最后一班巴士到50英里外的家里,看我在床上生病的妻子。你不只是回答我的问题,你让我的日子好多了。非常感谢你!

史蒂芬

5 个答案:

答案 0 :(得分:3)

因为您正在执行Response Write,所以会在其他所有内容之前推出。如果你想在某一特定点上嵌入某些东西,你可以这样做:

<%= HttpContext.Current.Request.ServerVariables["SERVER_NAME"])  %> 

<%= %>会将任何字符串写入HTML中的确切位置。

您还可以使用Literal控件并在代码隐藏中分配其Text属性,或者如果需要格式化,则使用Label

答案 1 :(得分:0)

您可以在页面上放置要显示文本的标签,然后设置标签的文本而不是这样做。只需在页面上放置一个asp标签,然后在后面执行代码

myLabel.Text = HttpContext.Current.Request.ServerVariables["SERVER_NAME"].ToString();

其中myLabel是HTML标记中标签的ID。

答案 2 :(得分:0)

在页面上定义一个DIV,您希望在其中显示输出的字符串:

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

然后,您可以简单地将DIV的内部文本设置为您想要的内容而不是r.Write()

myDIV.innerText = HttpContext.Current.Request.ServerVariables["SERVER_NAME"];

答案 3 :(得分:0)

使用Response.Write(“...”);它显示在页面标题之前,而不是使用Response.Write,您可以在表单上的任何位置放置标签以查看消息并设置标签的Text属性。

答案 4 :(得分:0)

或者如果你只想要文本,没有html标记。 使用文字。

在aspx文件中

<asp:Literal ID="MyLiteral" runat="server" />
代码隐藏

中的

MyLiteral.Text = HttpContext.Current.Request.ServerVariables["SERVER_NAME"].ToString();