asp.net(C#) 編碼解碼(HtmlEncode與HtmlEncode)

iDotNetSpace發表於2009-07-09
Default.aspx
@ Page ValidateRequest="false" Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="test_Default" %>

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 runat="server">
    
<title>asp.net(C#) 編碼解碼(HtmlEncode與HtmlEncode)title>
head>
<body>
    
<form id="form1" runat="server">
    
<div>
        
<asp:Label ID="lblShow" runat="server" Text="Label">asp:Label>
        
<asp:TextBox ID="txtInput" runat="server" Height="194px" TextMode="MultiLine" Width="305px">asp:TextBox>
        
<asp:Button ID="btnOk" runat="server" Text="提交" OnClick="btnOk_Click" />div>
    
form>
body>
html>
Default.aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
/***********************編碼研究***********************
 * 1.預設情況是不允許使用者在TextBox中輸入html標籤的,
 *   如果需要輸入,設定Page的ValidateRequest="false"
 * 2.可以把輸入的html標籤,比如直接存放在資料庫中,
 *   只是在輸出的時候編碼,防止原樣輸出打亂頁面佈局.或者呈現html元素.
 ****************************************************
*/
public partial class test_Default : System.Web.UI.Page
{
    
protected void Page_Load(object sender, EventArgs e)
    {

    }
    
protected void btnOk_Click(object sender, EventArgs e)
    {
        lblShow.Text 
= htmlEncode(txtInput.Text);
    } 
    
/// 
    
/// 對輸入的html編碼,同時對回車與空格進行轉換
    
/// 
    
/// 
    
/// 
    public string htmlEncode(string str)
    {
        
return Server.HtmlEncode(str).Replace("\n""
").Replace(" "" ");
    }

}

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-608726/,如需轉載,請註明出處,否則將追究法律責任。

相關文章