aspx:
        <asp:Label ID="Label1" runat="server" Text="index_02"></asp:Label><br />
        <asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1">
        </asp:GridView>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ZFConnectionString %>"
            SelectCommand="SELECT [NewsId], [Title], [Description] FROM [News] WHERE NewsTypeID='<%=Label1.Text; %>' or NewsTypeID in( select NewsTypeid from Newsinfo where parentid='<%=Label1.Text; %>')">
        </asp:SqlDataSource>
怎么执行的是:
SELECT [NewsId], [Title], [Description] FROM [News] WHERE NewsTypeID='<%=Label1.Text; %>' or NewsTypeID in( select NewsTypeid from Newsinfo where parentid='<%=Label1.Text; %>')我想让他执行:
SELECT [NewsId], [Title], [Description] FROM [News] WHERE NewsTypeID='index_02' or NewsTypeID in( select NewsTypeid from Newsinfo where parentid='index_02')

解决方案 »

  1.   

    这样试试看:
    SelectCommand="SELECT [NewsId], [Title], [Description] FROM [News] WHERE NewsTypeID='"+<%=Label1.Text; %>+"' or NewsTypeID in( select NewsTypeid from Newsinfo where parentid='"+<%=Label1.Text; %>+"')">
      

  2.   

    定义全局变量:public string m_index;在page_load事件里:m_index = Label1.Text;SelectCommand="SELECT [NewsId], [Title], [Description] FROM [News] WHERE NewsTypeID='"+ <%= m_index %>+"' or NewsTypeID in( select NewsTypeid from Newsinfo where parentid='"+ <%= m_index %>+"')">
      

  3.   

    楼主这种写代码的方式不可取最好是在后台(因为某个事件)动态地去改变SqlDataSource的SelectCommand
      

  4.   

    最苯的一个方法...定义个变量  等于 label1.text 然后查询......