项目进行中的小问题-0417

时间:2022-01-27 14:49:15

最近在做一个项目,每天总是遇到一些知道是怎么回事儿却不记得具体语句的小问题,为了防止以后再忘记,就把每天的问题和解决方案记下来吧,以备后用。

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();