gridview显示的文字太长,我做了处理就是超过5个字符就处理成五个字符加"..."如(12345...)现在我要获得GridView中的这个处理过的字段的值可是已经改成了12345...了我要获得完整的值,有什么办法不需要重新查数据库就可以解决的吗。感谢

解决方案 »

  1.   

    你可以将显示文字为截取后的字符,而隐藏属性可以设置全部
    比如连接来说 <a title="全部字符">截取后字符</a>那么就可以访问a标签的title属性你甚至可以设置个隐藏域,把全部字符赋值给隐藏域即可
      

  2.   

    例如你可以在模板列中这样设置绑定<asp:Label runat="server" ID="abc" Text='<%# GetText((string)Eval("field")) %>' M365='<%# (string)Eval("field") %>'>.....
    protected string GetText(string x)
    {
       return x.Lenght>5? (x.SubString(0,5)+"..."): x;
    }这里,你自己声明了一个属性 M365,绑定了完整的值。它显然不会在浏览器界面上显示什么内容,但是asp.net会自动在ViewState中保存这个自定义属性。于是在你将来需要查询出它的时候,例如你使用var  lable = (Label)e.Item.FindControl("abc");之后,就可以直接使用abc.Attributes["M365"]来读取这个值(是string类型的)。你可以重新复习一下web控件的Attributes属性。这里的知识点就是要知道:你是可以自定义属性的!
      

  3.   

    abc.Attributes["M365"]   -->  label.Attributes["M365"]