<asp:DataList ID="DataList1" runat="server" RepeatDirection="Horizontal"
        RepeatColumns="3" Height="160px" Width="885px" 
        onitemcommand="DataList1_ItemCommand">
        <ItemTemplate>
   <div id="datalistvalue" style="width:300px;">
       <img src="../../images/add_Schedule.gif" /><asp:HyperLink runat="server" ID="HyperLink1" NavigateUrl='<%# string.Format("AddMyFax.aspx?id={0}",Eval("NoteId"))%>'><%# Eval("NoteTitle") %></asp:HyperLink></div>
    </ItemTemplate>
    <ItemStyle HorizontalAlign="Left" BackColor="#EFF3FB" BorderStyle="Groove" />
    </asp:DataList>
---------------------------------------------------前置代码
protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                Bind();
                Show();
            }
        }
        protected void Bind()
        {
            MyNoteManager mnm = new MyNoteManager();
            DataList1.DataSource = mnm.GetMyNote();
            DataList1.DataBind();
        }        protected void Show()
        {
            MyNoteManager mnm = new MyNoteManager();
            MyNoteInfo mni = mnm.GetMyNote1();
            HyperLink hl = new HyperLink();
            if (mni.NoteTitle.Length > 3)
            {
                hl.Text = mni.NoteTitle.Substring(0, 3) + "...";
            }
            else
            {
                hl.Text = mni.NoteTitle;
            }
        }
----------------------------------------------------------后置代码我的问题是我现在能从数据库读取内容,然后通过datalist给呈现出来,我现在要有一个效果,就是当这个呈现出来的字数也就是mni.NoteTitle.Length > 3的后面都用...表示,比如数据库是  “你好吗哈哈”,那么显示的就是  “你好吗...”
请问大虾该如何实现呢,我代码这么写不行 请赐教 谢谢

解决方案 »

  1.   

    <asp:DataList ID="DataList1" runat="server" RepeatDirection="Horizontal"
      RepeatColumns="3" Height="160px" Width="885px"  
      onitemcommand="DataList1_ItemCommand">
      <ItemTemplate>
      <div id="datalistvalue" style="width:300px;">
      <img src="../../images/add_Schedule.gif" /><asp:HyperLink runat="server" ID="HyperLink1" NavigateUrl='<%# string.Format("AddMyFax.aspx?id={0}",Eval("NoteId"))%>'><%# Eval("NoteTitle").ToString().Length>3?Eval("NoteTitle").ToString().Substring(0,3)+"...":Eval("NoteTitle").ToString() %></asp:HyperLink></div>
      </ItemTemplate>
      <ItemStyle HorizontalAlign="Left" BackColor="#EFF3FB" BorderStyle="Groove" />
      </asp:DataList>
    直接红色部分就可以了,后台的protected void Show()不需要
      

  2.   

    如果要有后台的事件中处理,要放到DataList的On_ItemDataBound事件中进行处理protected void DataList1_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
               HyperLink hl=(HyperLink)e.Item.FindControl("RHyperLink1");
               string hTitle=DataBinder.Eval(e.Item.DataItem, "NoteTitle").ToString();
               if( hTitle.Length>3)
               {
                    hTitle=hTitle.Substring(0,3);
                }
                h1.Text=hTitle;
             }    }