datalist绑定邮件地址后,我想截取邮箱地址的@前面部分(例:[email protected]截取后为liulang457).
我用<%# DataBinder.Eval(Container.DataItem, "mail").Tostring().Substring("@" + 1) %>没有成功,请高手指点.

解决方案 »

  1.   

      DataBinder.Eval(Container.DataItem, "mail").Tostring().Substring(0,DataBinder.Eval(Container.DataItem, "mail").Tostring().indexof("@") + 1)
      

  2.   

    copico 的答案提示错误 CS0117: 'object' does not contain a definition for 'Tostring'应该是那里的问题呢
      

  3.   

    function TfrmUserMainForm.GetExtractPath(strPath:string):string;
    var
      i,count:integer;
      strTemp:string;
    begin
      for i:=0 to length(strPath)-1 do
      begin
      strTemp:=copy(strPath,i,1);
      if strTemp='@' then
          count:=i;
      end;
      result:=copy(strPath,0,count-1);
    end;
    这是Delphi中的函数,你可以参考一下.
      

  4.   

    C# 函数    Delphi函数  对比
    Len       length
    Mid       copy
    int 长度=Len(string 字符串);
    Mid(string 字符串,int 起始位置,int 截止位置);
      

  5.   

    把Tostring 改成ToString 正确感谢zzyhuian06142,感谢各位!
      

  6.   


    public string getUserName(object Email)
    {
        string[] arry = Email.Tostring().split(new char{'@'});
        if (arry.length > 0)
        {
          return arry[0];
        }
    }
    你调用的时候<%# getUserName(Eval("mail")) %>
      

  7.   


    public string getUserName(object Email)
        {
            string[] arry = Email.ToString().Split(new char{'@'});
            if (arry.length > 0)
            {
              return arry[0];
            }
        }