杂记之web篇

问题1:通过POST方式提交给后台的数据出现了乱码,用部分浏览器测试却是好的。

解决办法:

    在web.config文件中加上 <globalization responseEncoding="gb2312" requestEncoding="gb2312" fileEncoding="gb2312"/>。

如果有中文必须是GB2312。如果是纯数字和字母的输出可以使用UTF-8。

   <system.web>
<globalization responseEncoding="gb2312" requestEncoding="gb2312" fileEncoding="gb2312"/>
<httpRuntime requestValidationMode="2.0" />
<compilation debug="true" targetFramework="4.0" />
</system.web>

问题2:提交带有跨站攻击特性的字符串时,比如< ; 等,会报错的问题。

解决办法:

    在web.config中加上 <pages validateRequest="false"></pages>

    <system.web>
<globalization responseEncoding="gb2312" requestEncoding="gb2312" fileEncoding="gb2312"/>
<httpRuntime requestValidationMode="2.0" />
<pages validateRequest="false"></pages>
<compilation debug="true" targetFramework="4.0" />
</system.web>

问题3:需要将数据库中的表数据转换为XML时。

解决办法:

    将表对象转化为泛型数组,然后用linq语法直接遍历每条数据,将每条数据转化为xml格式。

         OrdersManager kom = new OrdersManager();
kom.DbHelper.ConnectionString = ConfigurationManager.AppSettings["UserDbConnection"].ToString();
List<OrdersEntity> OrdersEntityArray = kom.GetDataTableByWhere(conditionstring).ToList<OrdersEntity>();
var OrdersToXML = new XElement("Orders",
from Order in OrdersEntityArray
select new XElement("Order",
new XElement("OrderNo", Order.OrderNo.ToString()),
new XElement("PayType", Order.PayType.ToString()),
new XElement("IsNeedInvoice", Order.IsNeedInvoice.ToString()),
new XElement("CreateDate", Order.CreateDate.ToString())
));
Result = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\r\n" + OrdersToXML.ToString();
Response.Write(Result);
}
上一篇:IMP 导入数据报错 OCI-21500 OCI-22275


下一篇:第一个CUDA程序