HttpRequest.ServerVariables [“http_user_agent”]与HttpRequest.UserAgent之间的问题

时间:2016-12-05 07:29:11

标签: c# asp.net

我有这段代码:

<p>
    <b>You are browsing this site with:</b>
    <% Response.Write(Request.ServerVariables["http_user_agent"]); %>
    <br/>
    <b>Or with Request.UserAgent:</b>
    <% Request.UserAgent.Trim(); %>
</p>

第一个在浏览器中正确显示,但第二个(Request.UserAgent)未显示。为什么?另外如果我在后面的代码中的Page_Load方法中编写第二个,它可以正常工作。为什么第二个适用于Page_Load但不适用p标记。同样基于Microsoft和this回答它们都应该是相同的:

  

在ASP.NET中,您可以访问Request.ServerVariables集合或使用新的Request.UserAgent属性来检索HTTP_USER_AGENT标头值。

1 个答案:

答案 0 :(得分:2)

正如您所提到的,两者都会返回相同的文字。但是您错过了第二个代码中的Response.Write,请尝试以下

<p>
    <b>You are browsing this site with:</b>
    <% Response.Write(Request.ServerVariables["http_user_agent"]); %>
    <br/>
    <b>Or with Request.UserAgent:</b>
    <% Response.Write(Request.UserAgent.Trim()); %>
</p>