溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C#開(kāi)發(fā)web程序中關(guān)于 一般處理程序中的context.Response.ContentType = "text/plain"

發(fā)布時(shí)間:2020-07-22 17:06:02 來(lái)源:網(wǎng)絡(luò) 閱讀:12264 作者:warhax 欄目:開(kāi)發(fā)技術(shù)
簡(jiǎn)單的靜態(tài)頁(yè)面calculator.html:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form action="Handlers/CalculaterHandler.ashx" method="post" >
        <input  type="text" name="number1"/>+<input type="text" name="number2" />=<input type="text" name="result" />
        <input type="submit" name="btnSubmit" value="計(jì)算"/>
    </form>
</body>
</html>

加上一般處理程序CalculatorHandler.ashx:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace WebDemo.Handlers
{
    /// <summary>
    /// CalculaterHandler 的摘要說(shuō)明
    /// </summary>
    public class CalculaterHandler : IHttpHandler
    {
       

        public void Proce***equest(HttpContext context)
        {
        
            //context.Response.ContentType = "text/plain";
            context.Response.ContentType = "text/html";
            string num1 = context.Request.Params["number1"];
            string num2 = context.Request.Params["number2"];
            int result = Convert.ToInt32(num1) + Convert.ToInt32(num2);
            //context.Response.Write(num1 +"+"+num2+"="+result);
            string html = @"<!DOCTYPE html ><html xmlns='http://www.w3.org/1999/xhtml'>
            <head><meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
    <title></title>
</head>
<body>
    <form action='Handlers/CalculaterHandler.ashx' method='post' >
        <input  type='text' name='number1' value='" + num1
                                                   + @"' />+<input type='text' name='number2' value='" + num2 +
                                                   @"' />=<input type='text' value='" + result +
                                                   @"' />
        <input type='submit' name='btnSubmit' value='計(jì)算'/>
    </form>
</body>
</html>";
            context.Response.Write(html);
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}


注意這兩句會(huì)造成結(jié)果不同:用context.Response.ContentType = "text/plain"; 
結(jié)果就會(huì)按原樣輸出文本.
           用 context.Response.ContentType = "text/html";
結(jié)果才是正常的HTML格式輸出.

text/html & text/plain的區(qū)別

需要了解的概念

  Content-Type:用于定義用戶的瀏覽器或相關(guān)設(shè)備如何顯示將要加載的數(shù)據(jù),或者如何處理將要加載的數(shù)據(jù)

  MIME:MIME類型就是設(shè)定某種擴(kuò)展名文件用一種應(yīng)用程序來(lái)打開(kāi)的方式類型,當(dāng)該擴(kuò)展名文件被訪問(wèn)的時(shí)候,瀏覽器會(huì)自動(dòng)使用指定應(yīng)用程序來(lái)打開(kāi)。多用于指定一些客戶端自定義文件名,以及一些媒體文件打開(kāi)方式。

 

text/html的意思是將文件的content-type設(shè)置為text/html的形式,瀏覽器在獲取到這種文件時(shí)會(huì)自動(dòng)調(diào)用html的解析器對(duì)文件進(jìn)行相應(yīng)的處理。

text/plain的意思是將文件設(shè)置為純文本的形式,瀏覽器在獲取到這種文件時(shí)并不會(huì)對(duì)其進(jìn)行處理。


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI