问题一:在Default.aspx页面中有<%#  getLength(Eval("Title"),19) %>一句,这是什么脚本?C#脚本?
为了截取字符串在App_Helper命名空间里写了个方法:
/// <summary>
        /// 截取指定文本长度
        /// </summary>
        /// <param name="content">文本</param>
        /// <param name="i">截取长度</param>
        /// <returns>文本</returns>
        public string GetLength(string content,int i)
        {
            if (content.Length > i)
            {
                return content.Substring(0, i) + "...";
            }
            else
                return content;
        }
然后在Default页面中运用:
在Default.aspx.cs里
/// <summary>
        /// 截取指定长度字符串
        /// </summary>
        /// <param name="content">内容</param>
        /// <param name="i">截取长度</param>
        /// <returns>截取结果</returns>
        public string getLength(string content, int i)
        {
            Helper helper = new Helper();
            return helper.GetLength(content,i);
        }
在前台Defult.aspx里面:
<%#  getLength(Eval("Title"),19) %>提示编译错误:编译器错误消息: CS1502: 与“NanTunCoalMine._Default.getLengh(string, int)”最匹配的重载方法具有一些无效参数<td ><a href='Show.aspx?ID=<%# Eval("ID") %>'><%#  getLengh(Eval("Title"),19) %>&nbsp;[<%# Convert.ToDateTime(Eval("Time")).ToString("yyyy-mm-dd") %>]</a></td>可是在“getLength(Eval("Title"),19)”的参数指定里没有任何错误啊到底是怎么回事?<%# %> 脚本表示什么?和C#后台代码有什么差别?

解决方案 »

  1.   

    <%# %> 是绑定语法,只有DataBind()才能用
      

  2.   

    <%# getLength(Eval("Title"),19) %>
    的意思是读取数据库记录里面的 Title 的值,然后作为 getLength函数的参数,结果显示在这个位置
      

  3.   

    GetLength
    大小写
    <%# GetLength(Eval("Title"),19) %>
      

  4.   

    数据绑定表达式必须包含在<%#和%>字符之间 <%#Eval("数据绑定表达式1")%>   
    < %= %>: 在程序执行时被调用,可以显示后台变量值
    < % %>: 内联代码块里面可以在页面文件*.aspx或*.ascx文件里面嵌入后台代码
    将数据绑定表达式包含在服务器控件或者普通的html元素的开始标记中属性名/属性值对的值侧。如:
    <asp:TextBox ID="TextBox1" runat="server" Text='<%#数据绑定表达式%>' ></asp:TextBox><br />
    此时数据的绑顶表达式可以是一个变量,也可以是一个带返回值的C#或者VB.NET方法,还可以是某个控件的某个属性的值
      

  5.   

    <%# GetLength(Eval("Title"),19) %>
    //这个写法没问题,Title字段是不是string类型,有没有出现DB.NULL??最有可能的时Title行可能为NULL
      

  6.   

    <%# GetLength(Eval("Title").ToString(),19) %>
      

  7.   

       这个Eval("Title")是string类型吗?如果不是要进行转换哦。。
      

  8.   

    不是脚本,是数据绑定控件的数据绑定表达式,你看一下,datalist.repeater,datagridview控件的用法就明白了。