/***********************编码研究*********************** * 1.默认情况是不允许用户在TextBox中输入html标签的, * 如果需要输入,设置Page的ValidateRequest="false" * 2.可以把输入的html标签,比如<input>直接存放在数据库中, * 只是在输出的时候编码,防止原样输出打乱页面布局.或者呈现html元素. *****************************************************/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;public partial class encodingStudy : System.Web.UI.Page{ UserInfo userInfo = new UserInfo(); protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) Bind(); } private void Bind() { DataTable dt=userInfo.getUser(); //在Label里显示或直接Response.Write()都需要编码 this.lblShow.Text = htmlEncode(dt.Rows[0][0].ToString()); //在TextBox里显示就不需要编码了. //this.txtShow.Text = htmlEncode(dt.Rows[0][0].ToString()); this.txtShow.Text = dt.Rows[0][0].ToString(); } /// <summary> /// 对输入的html编码,同时对回车与空格进行转换 /// </summary> /// <param name="str"></param> /// <returns></returns> public string htmlEncode(string str) { return Server.HtmlEncode(str).Replace("/n", "<br/>").Replace(" ", " "); } protected void btnAdd_Click(object sender, EventArgs e) { //直接把数据写入数据库,注意回车在数据库中也会跳到下一行. /*在TextBox中输入内容如下: <input>空 格 回 车 */ userInfo.addUser(this.txtEnter.Text); }}/***********************编码研究******************* 你的当前访问异常,请进行认证后继续阅读剩余内容。 提交