2011-02-25 92 views
1

我对ASP.net很陌生。我有一个C#的内容页面,在其中我想插页一半的HTML内上下验证码:ASP.NET内容页面动态内容出现在HTML输出的顶部

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

但是,当我查看该页面,这些内容出来第一,连标签之前。

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

谢谢!

编辑 我只想给所有回答这个问题的人添加一个注释来解释你所做的事情。 您可以省下宝贵的时间来帮助我,对您来说陌生人解决工作中的困难问题,这使得我可以在周五晚上离开办公室,赶上最后一班巴士到我家50英里以外的地方,并看到我在床上生病的妻子。你不只是回答我的问题,你让我的一天变得更好。非常感谢!

史蒂芬

回答

3

因为你正在做一个ResponseWrite,将一切之前推出。如果你想在一个特定的点,只是嵌入的东西,你可以这样做:

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

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

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

0

你可以把一个标签,你希望文本出现,然后设置标签的文本,而不是做这样的网页上。简单地说一个asp标签页上,并frmo后面的代码做

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

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

0

定义页面这样的,要显示在输出串中的DIV:

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

然后,而不是r.Write()你可以简单的设置DIV的内文是什么你想:

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

0

当您使用的Response.Write( “...”);它显示在页眉之前,而不是使用Response.Write,你可以在窗体上放置一个标签,无论你想看什么消息并设置标签的Text属性。

0

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

在aspx文件

<asp:Literal ID="MyLiteral" runat="server" /> 

代码隐藏

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