日期:2014-05-17  浏览次数:20474 次

一段截取字串的代码, 如何让每一个页面都能共同调用?
 /// <summary> 
    /// 截取字串 
    /// </summary> 
    public string getString(string RawString, Int32 Length)
    {
        if (RawString.Length <= Length)
        {
            return RawString;
        }
        else
        {
            for (Int32 i = RawString.Length - 1; i >= 0; i--)
            {
                if (System.Text.Encoding.GetEncoding("GB2312").GetByteCount(RawString.Substring(0, i)) < Length)
                {
                    return RawString.Substring(0, i) + "...";
                }
            }
            return "...";
        }
    }

我是把它放到一个 类库中 ,并在项目右键中“引用”这个类库,但是为什么在页面中不能直接用 

编译器错误消息: CS0103: 当前上下文中不存在名称“getString”

源错误:



行 75:    <%#  getString(DataBinder.Eval(Container.DataItem, "title").ToString(), 10)%>


问题可能相当小白,我才从asp转入.net很多不明白。。。


------解决方案--------------------
比如说你在一个 MyExt.cs (并且类型名也是MyEx)里边写上
 /// <summary> 
     /// 截取字串 
     /// </summary> 
     public static string getString(string RawString, Int32 Length)
{
    .....
}

然后你的设计代码中的绑定表达式,引用getString需要带上命名空间和类名。
------解决方案--------------------
 MyExt.MyExt.getString(...)