页面绑定转义相关的方法 - DataBindHelper.cs

2017-02-11 20:34:19  访问(1823) 赞(0) 踩(0)

using System;
using System.Collections.Generic;

using System.Web;
using SlowX.Functions.Functions;
using SlowX.WebSite.Common;

/// <summary>
///DataBindHelper 的摘要说明
/// </summary>
public class DataBindHelper
{
    /// <summary>
    /// 只能用保护,不然反射不到
    /// </summary>
    protected static DataBindHelper m_instance = new DataBindHelper();

    /// <summary>
    /// 
    /// </summary>
    public static DataBindHelper instance
    {
        get
        {
            return m_instance;
        }
    }

    public DataBindHelper()
    {
        
    }

    /// <summary>
    /// 
    /// </summary>
    /// <param name="obj"></param>
    /// <returns></returns>
    public string ConvertObj(object obj)
    {
        if (obj == null)
            return "";

        return obj.ToString().Replace("\"", "&quot;");
    }


    /// <summary>
    /// 
    /// </summary>
    /// <param name="obj"></param>
    /// <returns></returns>
    public string ConvertStr(string obj)
    {
        if (obj == null)
            return "";

        return obj.Replace("\"", "&quot;");
    }

    /// <summary>
    /// 
    /// </summary>
    /// <param name="obj"></param>
    /// <returns></returns>
    public string ConvertUrl(object obj)
    {
        if (obj == null)
            return "";

        string str = obj.ToString();

        if (str.StartsWith("~/")||str.StartsWith("-/"))
            str = WebBasicData.instance.phyPath + str.Substring(1);

        return str.Replace("\"", "&quot;");
    }

    /// <summary>
    /// 
    /// </summary>
    /// <param name="obj"></param>
    /// <returns></returns>
    public string ConvertStrUrl(string str)
    {
        if (str == null)
            return "";
 

        if (str.StartsWith("~/") || str.StartsWith("-/"))
            str = WebBasicData.instance.phyPath + str.Substring(1);

        return str.Replace("\"", "&quot;");
    }

    /// <summary>
    /// 
    /// </summary>
    /// <param name="obj"></param>
    /// <returns></returns>
    public string ConvertImageUrl(object obj)
    {
        if (obj == null)
            return WebBasicData.instance.phyPath + "/images/noimage.jpg";

        string str = obj.ToString();

        if(str.Length == 0)
            return WebBasicData.instance.phyPath + "/images/noimage.jpg";

        if (str.StartsWith("~/") || str.StartsWith("-/"))
            str = WebBasicData.instance.phyPath + str.Substring(1);

        return str.Replace("\"", "&quot;");
    }


    /// <summary>
    /// 
    /// </summary>
    /// <param name="obj"></param>
    /// <returns></returns>
    public string GetObj(object obj)
    {
        if (obj == null)
            return "";

        return obj.ToString();
    }

    /// <summary>
    /// 
    /// </summary>
    /// <param name="obj"></param>
    /// <param name="allowLen"></param>
    /// <returns></returns>
    public string CutStr(object obj, int allowLen)
    {
        if (obj == null)
            return "";

        return StringSlowXFunctions.CutString(obj.ToString(), allowLen);
    }

    /// <summary>
    /// 
    /// </summary>
    /// <param name="obj"></param>
    /// <returns></returns>
    public string GetTarget(object obj)
    {
        if (obj == null)
            return "";

        return obj.ToString();
    }
    

    /// <summary>
    /// 
    /// </summary>
    /// <param name="obj"></param>
    /// <returns></returns>
    public string GetUrl(object obj)
    {
        if (obj == null)
            return "";

        string str = obj.ToString();

        if (str.StartsWith("~/") || str.StartsWith("-/"))
            str = WebBasicData.instance.phyPath + str.Substring(1);

        return str;
    }

    public string ToDateTimeString(object obj)
    {
        if (obj == null)
            return "";

        DateTime dt = DateTime.Now;

        if (obj is DateTime)
            dt = (DateTime)obj;
        else
        {
            if (!DateTime.TryParse(obj.ToString(), out dt))
                return "";
        }

        return dt.ToString("yyyy-MM-dd");
    }

    public string ToFullDateTimeString(object obj)
    {
        if (obj == null)
            return "";

        DateTime dt = DateTime.Now;

        if (obj is DateTime)
            dt = (DateTime)obj;
        else
        {
            if (!DateTime.TryParse(obj.ToString(), out dt))
                return "";
        }

        return dt.ToString("yyyy-MM-dd HH:mm:ss");
    }

    /// <summary>
    /// 
    /// </summary>
    /// <param name="obj"></param>
    /// <param name="curValue"></param>
    /// <param name="compareValue"></param>
    /// <returns></returns>
    public string HighLighObj(object obj, object curValue, object compareValue)
    {
        if (obj == null)
            return "";

        string str = obj.ToString();

        bool isCompare = false;
        if (curValue == null)
        {
            if (compareValue == null)
                isCompare = true;
        }
        else
        {
            isCompare = curValue.Equals(compareValue);
        }

        if (isCompare)
            return "<font color='red'>" + str + "</font>";
        else
            return str;

    }

    public string ShowTime(object obj)
    {
        if (obj == null || obj == DBNull.Value)
            return "";

        DateTime dt = DateTime.Now;

        if (obj is DateTime)
        {
            dt = (DateTime)obj;
        }
        else
        {
            if(!DateTime.TryParse(obj.ToString(),out dt))
                return "";
        }

        if (dt == dt.Date)
            return "<span title=\"" + dt.ToString("yyyy-MM-dd") + "\">" + dt.ToString("yyyy-MM-dd") + "</span>";
        else
            return "<span title=\"" + dt.ToString("yyyy-MM-dd HH:mm:ss") + "\">" + dt.ToString("yyyy-MM-dd") + "</span>";
    }

    /// <summary>
    /// 
    /// </summary>
    /// <param name="obj"></param>
    /// <returns></returns>
    public string ConvertScript(object obj)
    {
        if (obj == null)
            return "";

        string str = obj.ToString();

        str = str.Replace("&", "&amp;");
        str = str.Replace("<", "&lt;");
        str = str.Replace(">", "&gt;");

        return str;
    }

    /// <summary>
    /// 
    /// </summary>
    /// <param name="obj"></param>
    /// <returns></returns>
    public string ConvertAll(object obj)
    {
        if (obj == null)
            return "";

        string str = obj.ToString();

        str = str.Replace("&", "&amp;");
        str = str.Replace("<", "&lt;");
        str = str.Replace(">", "&gt;");
        str = str.Replace("\"", "&quot;");

        return str;
    }

    /// <summary>
    /// 
    /// </summary>
    /// <param name="o"></param>
    /// <returns></returns>
    public int GetInt(object o)
    {
        if (o == null)
            return 0;

        return Convert.ToInt32(o);
    }
}


标签:页面绑定转义相关的方法 - DataBindHelper.cs 

上一条:

下一条:


 

相关评论

评论加载中……
 

发表评论

类型:
内容:
  (Alt+Enter)