我使用了一个DataGrid的超连接,其中的 NavigateUrl想使用数据绑定,但是运行时总是报错,说
超连接列不支持DataBinding???
NavigateUrl='<%# myfunc(DataBinder.Eval(Container.DataItem,"id"),DataBinder.Eval(Container.DataItem,"title")) %>' >另外,DataNavigateUrlFormatString="Manual.aspx?isDepartment={0}&amp;receiveID={1}&amp;receiveDepartment={2}"对于URL字段  DataNavigateUrlField="isdepartment;receiveID;receiveDepartment" 是错的
中间是用什么分隔的呀?????

解决方案 »

  1.   

    NavigateUrl中你带有2个参数了,当然不可以。
    NavigateUrl='<%# DataBinder.Eval(Container.DataItem,"id")%><%#DataBinder.Eval(Container.DataItem,"title")) %>' DataNavigateUrlFormatString中{1},{2}是不能用的。你必须要用{0}
      

  2.   

    如果你要传多个参数,建议用模板列,参考以下代码
    <asp:TemplateColumn HeaderText="标题">
    <ItemTemplate>
    <a href='<%# myfunc(DataBinder.Eval(Container.DataItem,"title").ToString(),DataBinder.Eval(Container.DataItem,"id").ToString())%>'>
    <%# DataBinder.Eval(Container.DataItem,"title")%></a>
    </ItemTemplate>
    </asp:TemplateColumn>
    后台:
    protected string myfunc(string title,string id)
    {
       return "Manual.aspx?title=" + title + "&id=" + id;
    }