.NET 绝对路径的配置

      有时候因为用IIS配置网站,会导致一些全局引用有路径问题无法引用到。今天就说一下,关于全局引用的绝对路径的配置,譬如,由于IIS配置的虚拟路径,一些CSS,JS的引用找不到,又或者自定义的一些跳转出现404。这些问题很简单也很基础。

     我们可以定义一个BasePage类,把一些页面公共的引用,提示信息放在里面,这样每个页面只要继承这个类,就可直接使用BasePage里的方法了(面向对象的三大特性之一:继承都知道的吧!)。首先定义一个绝对路径的字符串

    /// <summary>
    /// 定义绝对路径
    /// </summary>
    public string ApplicationPath = "";

  然后初始化。注意一点,这里使用的派生类实现基类的方法。使用override重写此功能,使用base关键字继承基类的方法。

    /// <summary>
    ///初始化函数
    /// </summary>
    /// <param name="e"></param>
    protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);
        InitApplication();
    }

  最后实现绝对路径的赋值

/// <summary>
/// 初始化请求路径
/// </summary>
public void InitApplication()
{
  #region 定义ApplicationPage
  this.ApplicationPath = HttpContext.Current.Request.ApplicationPath == "/" ? "" : HttpContext.Current.Request.ApplicationPath + "";
  #endregion
}

  此时ApplicationPath 就是网站的根名称。

posted @ 2014-09-03 10:55  derek86  阅读(318)  评论(2编辑  收藏  举报