Aspx页面<asp:Repeater id="rpt_list" runat="server" > 
<ItemTemplate > 
<tr>
<td nowrap>
   <%# ShowUserName(DataBinder.Eval(Container.DataItem,"C_Username")) %>
</td>
</tr>
===========
后台我是想这么处理的:
public string ShowUserName(obj obj)
{
  string str = obj.ToString();
  if(obj != null)
     str = "Hello" + str;
  else
    str = "";  
}============
现在当DataBinder.Eval(Container.DataItem,"C_Username") 指为Null时就会报错。请问高手指点。谢谢

解决方案 »

  1.   

    string str = obj.ToString();当然会出错
    你认为 Null.ToString();能运行吗?
    string str = string.Empty;
    if(obj != null) str = "Hello" + obj.ToString();
      

  2.   

    <%# ShowUserName(DataBinder.Eval(Container.DataItem,"C_Username")) %>
    改成(用三元运算符):
    <%# DataBinder.Eval(Container.DataItem,"C_Username")==null ? "":"Hello" + DataBinder.Eval(Container.DataItem,"C_Username") %>
      

  3.   


    <%# DataBinder.Eval(Container.DataItem,"C_Username")==null ? "":"Hello" + DataBinder.Eval(Container.DataItem,"C_Username") %>显示出来的, 几乎全部是使 “Hello”,后面的不显示出来。
      

  4.   


    public string ShowUserName(string str)
    {
    str = str.Trim();
    if (str == null || str == string.Empty)
    {
      return "";
    }
    else
    {
     return "Hello" + str;
    }}
    Aspx:
    <%# ShowUserName(DataBinder.Eval(Container, "DataItem.C_Username").ToString()) %>
      

  5.   

    1.
    代码逻辑有问题,string str = obj.ToString();
      if(obj != null)
         str = "Hello" + str;
      else>>>>  string str = null;   
      if(obj != null)
         str = "Hello" + obj.ToString();
      elseOR 
      比较紧凑的代码
      return (obj == null) ? "" : "Hello" + obj.ToString();2.
    直接使用页面声明方式, 但不推荐,因为需要两个 Eval(内部使用反射)<%# DataBinder.Eval(Container.DataItem,"C_Username") == null ? "" : "Hello" + DataBinder.Eval(Container.DataItem,"C_Username") %>Good Luck!
      

  6.   

    <%# DataBinder.Eval(Container.DataItem,"C_Username") + "" == "" ? "":"Hello" + DataBinder.Eval(Container.DataItem,"C_Username") %>
      

  7.   

    public string ShowUserName(obj obj)
    {
      string str = String.Empty;
      if(obj != null)
         str = "Hello" + obj.ToString();
      
      return str;
    }
      

  8.   

    string str = obj.ToString();
    obj is null  就tostring不了的阿
    逻辑的问题
      

  9.   

    请问 Aden(Aden) <%# ShowUserName(DataBinder.Eval(Container, "DataItem.C_Username").ToString()) %>数据库中C_Username 为 null时1.DataBinder.Eval(Container, "DataItem.C_Username") 返回为什么呢?
    2.DataBinder.Eval(Container, "DataItem.C_Username").ToString()
    返回又是什么呢?
       是 ""(空字符串)吗?3. 是不是