Eval()、XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用代码如下,请大家不吝赐教!
 if (Eval("Title").Equals("Single"))
                    {
                        for (int i = 0; i <= 8;i++ )
                        {
                         
                            if (!Eval("Title"+i).Equals(""))
                            {
                             Response.Write("<input type='radio' name='VoteOption' value='"+ i + "'/>"+ Eval("Select"+i)+"<br>");
                            }
                            else
                            {
                                break;
                            }
                       }
                            
                      }
                        else
                        {
                            for (int i = 0; i <= 8; i++)
                            {                                if (!Eval("Title" + i).Equals(""))
                                {
                                    Response.Write("<input type='checkbox' name='VoteOption' value=" + i + "/>" + Eval("Select" + i) + "<br>");
                                }
                                else
                                {
                                    break;
                                }
                            }
                            
                        }

解决方案 »

  1.   

    Eval()、XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用 
    -------------
    比如说:
    Page_Load...
    {
    this.GridView1.DataSource = dataSourceTable;//假设获得一个dataTable的数据源
    this.GridView1.DataBind();
    }现在就可以在aspx页面中使用
    Eval()或者Bind()来绑定这个Table里面的某个字段了。Xpath主要针对的是XML的数据源。
      

  2.   

    只能在数据绑定时使用
    如SelectedValue='<%# DataBinder.Eval(Container.DataItem,"fieldname")%>'
    protected void gv_RowDataBound(object sender, GridViewRowEventArgs e) 

                    if ((DropDownList)e.Row.FindControl("") != null) 
                    { 
                        ((DropDownList)e.Row.FindControl("")).SelectedValue =""; 
                    } 
        } 
    ((DropDownList)gv.Rows[e.RowIndex].FindControl("")).SelectedValue.Trim(); 
      

  3.   

    并不是非要在数据绑定控件的上下文中才可以执行到EVAL,我就实现过没有在数据绑定控件中同样实现执行EVAL方法,在PAGE的LOAD中写入This.DataBind()即可。
      

  4.   

    如下使用就可以了
    <asp:Repeater ID="rpNews" runat="server">
            <ItemTemplate>
                 <ul id="pagelist">
                  <li><a  href="NewsShow.aspx?viewid=<%#Eval("newsid") %>" target="_blank">
                  <span class="lbt"><%#Eval("newstheme")%></span>
                  <span  class="ldt"><%#Convert.ToDateTime(Eval("addtime")).ToString("yyyy-MM-dd")%></span></a></li>
                 </ul> 
            </ItemTemplate>
        </asp:Repeater>