最近在做一个项目,每天总是遇到一些知道是怎么回事儿却不记得具体语句的小问题,为了防止以后再忘记,就把每天的问题和解决方案记下来吧,以备后用。
1、如何设置页面的编码。
1)可以在web.config里设置全局的编码,在<system.web>配置节中添加以下配置节:
<globalization fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8"/>
2)对于单个页面的编码设置,可以在Web.config里配置,也可以在页面上设置。
Web.config里在configuration元素下配置以下字节,path 可以目录路径,也可以单独指向某个文件:
<location path="Store/Pay.aspx">
<system.web>
<globalization fileEncoding="gb2312" requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN"/>
</system.web>
</location>
在aspx页面的Page指令中设置响应编码:
<%@ Page Language="C#" AutoEventWireup="true" ResponseEncoding="utf-8" CodeBehind="byte.aspx.cs" Inherits="DevKit.Web.test.charset._byte" %>
在aspx页面中手动指定meta标签:<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
在后台cs文件中这样写:
Request.ContentEncoding = System.Text.Encoding.UTF8; //请求编码
Response.ContentEncoding = System.Text.Encoding.UTF8; //响应编码
2、如何控制Tab键切换顺序
给input或button等设置“tabindex”属性。
3、asp.net mvc Filter里的重定向问题
如果在Filte里简单地写下面这样的重定向语句,如:
filterContext.HttpContext.Response.Redirect("test.html");
则重定向语句后面的语句和Action还是会执行,正确的写法应该是:
filterContext.Result = new RedirectResult(“test.html”);
4、在Filter里获得当前的Controller和Action名称
string controllerName = filterContext.RouteData.Values["Controller"].ToString();
string actionName = filterContext.RouteData.Values["Action"].ToString();