你调用chang.all.update(string)函数时参数类型不对

解决方案 »

  1.   

    try to use:
    <%# update(DataBinder.Eval(Container.DataItem,"subject").ToString()) %>
      

  2.   

    <%# update(DataBinder.Eval(Container.DataItem,"subject").ToString()) %>

    <%# update(Convert.ToString((DataBinder.Eval(Container.DataItem,"subject"))) %>
      

  3.   

    >>>>我数据库中定义的类型是字符型啊你的字段类型是字符型,但是DataBinder.Eval(Container.DataItem,"subject")
    而public static object Eval(object, string);返回的是Object类型,所以你需要转换成String类型。
      

  4.   

    还是不对:
      <asp:templatecolumn HeaderText="类型">
           <itemtemplate>
    <a href='<%# "/bbs/view.aspx?id="+DataBinder.Eval(Container.DataItem,"id")%>' target="_blank"><%# update(DataBinder.Eval(Container.DataItem,"types").ToString()) %></a>
    </itemtemplate>
    </asp:templatecolumn> public void update(object types) 

    if (types.ToString()=="1") 

    Response.Write( "<font color=red><b>媒体报道</b></font>"); 

    else 

    Response.Write("论坛资料"); 
    } } 编译器错误信息: CS1502: 与“System.Convert.ToString(object)”最匹配的重载方法具有一些无效参数到底如何修改,急啊!
      

  5.   

    i think this-DataBinder.Eval(Container.DataItem,"types") not a single value or object but a column set or a array,so you use 'types.ToString()' is wrong
      

  6.   

    you can use DataItemBind event which is a event of DataGrid
      

  7.   

    这里已经改了<%# update(DataBinder.Eval(Container.DataItem,"types").ToString()) %>
    下面怎么又把参数改成object类型了呢?
    try:
    <asp:templatecolumn HeaderText="类型">
           <itemtemplate>
    <a href='<%# "/bbs/view.aspx?id="+DataBinder.Eval(Container.DataItem,"id")%>' target="_blank"><%# update(DataBinder.Eval(Container.DataItem,"types").ToString()) %></a>
    </itemtemplate>
    </asp:templatecolumn> public void update(String types) //注意参数类型前后一致

    if (types.ToString()=="1") 

    Response.Write( "<font color=red><b>媒体报道</b></font>"); 

    else 

    Response.Write("论坛资料"); 
    } }
      

  8.   

    还是错误:
    编译器错误信息: CS1502: 与“System.Convert.ToString(object)”最匹配的重载方法具有一些无效参数types字段在数据库中的值是1,或者2,如果是1,想让他显示:媒体报道
    2显示论坛资料
      

  9.   

    <%# %>中间可以放void类型函数吗?
      

  10.   

    public void update(String types) //注意参数类型前后一致

    if (types.ToString()=="1") 

    Response.Write( "<font color=red><b>媒体报道</b></font>"); 

    else 

    Response.Write("论坛资料"); 
    } }
    改为public String update(String types) //注意参数类型前后一致

    if (types.ToString()=="1") 

    s=@"<font color=red><b>媒体报道</b></font>"; 

    else 

    s="论坛资料"; 

    return s;
    }
      

  11.   

    改成这样试试:
    <asp:templatecolumn HeaderText="类型">
           <itemtemplate>
    <a href='<%# "/bbs/view.aspx?id="+DataBinder.Eval(Container.DataItem,"id")%>' target="_blank"><%# update(DataBinder.Eval(Container.DataItem,"types").ToString()) %></a>
    </itemtemplate>
    </asp:templatecolumn>public String update(string types) //注意参数类型前后一致

    if (types.ToString()=="1") 

      return "<font color=red><b>媒体报道</b></font>"; 

    else 

      return "论坛资料"; 
    } }
      

  12.   

    update(DataBinder.Eval(Container.DataItem,"types").ToString()) 
    //
    在ToString前请检查字段types对应的值是否为null,如果为null将出错