for (int i = 0; i < ds.Tables[0].Rows.Count; i++) {
            if (ds.Tables[0].Rows[i]["tile"].ToString().Length > 10)
            {
                ds.Tables[0].Rows[i]["tile"] = ds.Tables[0].Rows[i]["tile"].ToString().Substring(0, 10) + "...";
            }
        }
            this.DataList3.DataSource = ds;
        this.DataList3.DataBind();<a href="zsjs.aspx?id=<%#Eval("id") %>" style="text-decoration: none; color:#000000">&nbsp;&nbsp<%#Eval("tile") %></div>  </a>

解决方案 »

  1.   

    不會。
    不過你看這樣行不行,你在模板列里再放一個隱藏的label,用隱藏的lable來讀取uAdviseID,然后用lable來判斷再送給hyperlink.
      

  2.   

    你如果是用模板列,如下:
    DataBound事件里面写
    HyperLink hl = (HyperLink)e.Row.FindControl("控件ID名");
    if(hl!=null)
    {
        if(hl.Text.ToString().Length >10)
        {
                hl.Text = hl.Text.SubString(0,10)+"...";
         }
    }
      

  3.   

    一楼的方法,是用DataList来做的话,确实很好做  但是 整个项目已经用了 GV了, 我如果要改的话, 工作量会很大了      GV里面能否 有办法解决
      

  4.   

    从上面的图中我们可以看出在GridView中可以显示7中类型的字段,它们分别是:BoundField:绑定字段,以文本的方式显示数据。CheckBoxField:复选框字段,如果数据库是bit字段,则以此方式显示。HyperLinkField:用超级连接的形式的显示字段值。ImageField:用于显示存放Image图象的url字段数据,显示成图片效果。ButtonField:显示按钮列。CommandField:显示可执行操作的列,可以执行编辑或者删除等操作。可以设置它的ButtonType属性来决定显示成普通按钮、图片按钮或者超级链接。TemplateField:自定义数据的显示方式,在这里我们可以使用我们所熟悉的HTML控件或者asp.net Web服务器控件。对于我们经常使用到的Users这个表,这次我们不再使用for循环来显示了,这次使用GridView控件来显示。GridView控件的字段大都有HeaderText这个属性,这个属性是用来设置数据的镖头的,如果我们不设置的话默认都是以数据库的相应字段作为表头。另外还有一个DataField属性,这个属性是用来设置要绑定显示的数据的属性或者列名。在这里我们希望在显示的时候给出一个链接,用户可以点击这个链接跳转到查看详细介绍的页面,并且我们还希望将用户的电子邮件显示成超级链接的方式。
      

  5.   


    <asp:GridView ID="gvUserList" runat="server" AutoGenerateColumns="False" OnPageIndexChanging="gvUserList_PageIndexChanging"> 
                <Columns> 
                    <asp:BoundField DataField="UserId" HeaderText="编号" /> 
                    <asp:HyperLinkField DataNavigateUrlFields="UserId" DetailsViewDemo.aspx?UserId={0}" 
                        DataTextField="RealName" HeaderText="查看" /> 
                    <asp:BoundField DataField="UserName" HeaderText="用户名" /> 
                    <asp:BoundField DataField="RealName" HeaderText="真实姓名" /> 
                    <asp:BoundField DataField="Age" HeaderText="年龄" /> 
                    <asp:CheckBoxField DataField="Sex" HeaderText="男" /> 
                    <asp:BoundField DataField="Mobile" HeaderText="手机" /> 
                    <asp:TemplateField HeaderText="电子邮件"> 
                        <AlternatingItemTemplate> 
                            <a href='emailto:<%#Eval("Email") %>'>发电子给<%#Eval("RealName") %></a> 
                        </AlternatingItemTemplate> 
                        <ItemTemplate> 
                            <%#Eval("Email") %> 
                        </ItemTemplate> 
                    </asp:TemplateField>
    <asp:TemplateField HeaderText="电子邮件"> 
                        <ItemTemplate> 
                            <a href=provientManagerShow.aspx?uAdviseID=<%#Eval("uAdviseID") %>'><%#Eval("uAdviseCon").TOString().SubString(0,10) %></a> 
                        </ItemTemplate> 
                    </asp:TemplateField> 
                </Columns> 
            </asp:GridView> 
      

  6.   

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            //控制字符显示长度,若大于18个字符,显示前18个,后加"..."
            for (int i = 0; i <e.Row.Cells.Count; i++)
            {
                if (e.Row.Cells[i].Text.Length > 18)
                {
                    e.Row.Cells[i].Text = e.Row.Cells[i].Text.Substring(0, 18) + "...";
                }
            }    }
      

  7.   

    你如果是用模板列,如下: 
    DataBound事件里面写 
    HyperLink hl = (HyperLink)e.Row.FindControl("控件ID名"); 
    if(hl!=null) 

        if(hl.Text.ToString().Length >10) 
        { 
                hl.Text = hl.Text.SubString(0,10)+"..."; 
        } 
    }
    同意该观点