ASP.net:为什么页面显示为文本?

时间:2015-10-01 04:21:33

标签: html asp.net .net vb.net

我正在使用以下功能

  

[Server.Transfer(url)]

在我的重定向到 html 页面的代码中,

但为什么 html 页面会在浏览器中显示为文字?

Global.asax 文件中的代码:

Protected Sub Application_BeginRequest(ByVal sender As Object, ByVal e As System.EventArgs)
   '' Accpeted Firefox browser only :
   If Not GlobelApp.ValidBrowser(Request.Browser) Then
       Server.Transfer("browser.html")
       Exit Sub
    End If
End Sub

Html页面代码 browser.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
        <title>Update Browser</title>
        <style type="text/css">
            @font-face {
              font-family: 'Droid Sans Arabic';
              src: url('fonts/droid-sans-arabic.ttf') format('truetype');
            }
            * { font-family:'Droid Sans Arabic', 'Segoe UI'; font-weight:lighter; color:#444; direction:rtl; }
            h1 {  font-weight:lighter; text-align:center; }
            a { color:#3276B1; text-align:center; }
            p { line-height: 33px; text-align:center; }
        </style>
    </head>
    <body>
        <div style="width:550px; margin:120px auto 10px;">
            <img src="img/firefox.png" style="width:180px;margin:0px auto; display:block;" />
            <h1 style="padding-top:15px;">تحديث المتصفح</h1>
            <p>
                لكي يعمل النظام لديك عليك تحميل متصفح الفايرفوكس Firefox بأحدث إصدار <br />
                <a href="https://www.mozilla.org/en-US/firefox/new/">تحميل المتصفح الفايرفوكس Firefox</a>
            </p>
        </div>
    </body>
</html>

请指导我

1 个答案:

答案 0 :(得分:1)

当来自服务器的响应时,我们必须通过在响应标头中添加标题 Content-Type 来指定响应内容 HTML

普通ASP页面中的

是默认的,但是当从 Global.asax 重定向时,我认为响应中没有标题

所以我们可以使用 Content-Type 标题来代替Server.Transfer函数使用Server.TransferRequest(path, preserveForm, method,headers)

这里的代码工作正常

Dim headers As New NameValueCollection
headers.Add("Content-Type", "text/html")
Server.TransferRequest("browser.html", False, "GET", headers)

感谢 @rajeshmpanchal @UğurAldanmaz寻求帮助^ _ ^