我是ASP.net的新手。我有一个c#内容页面,我希望在HTML中将这段代码插入一半:
<%
HttpResponse r = Response;
r.Write(HttpContext.Current.Request.ServerVariables["SERVER_NAME"]);
%>
但是当我查看该页面时,这个内容首先出现在标签之前。
有关如何内联此代码的任何想法吗?
谢谢!
修改 我想给所有回答这个问题的人添加一个说明来解释你做了什么。 你节省了宝贵的时间来帮助我,一个陌生人,在工作中解决一个棘手的问题,这让我可以在周五晚上离开办公室,赶上最后一班巴士到50英里外的家里,看我在床上生病的妻子。你不只是回答我的问题,你让我的日子好多了。非常感谢你!
史蒂芬
答案 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();