求助:
1、我已经将sqlDataSource中的SelectQuery中的WHERE (id=@id) 中的@id用Request.QueryString求得的参数来设置.
在哪个函数中,如何设置呢?

解决方案 »

  1.   

    <asp:Parameter Name="id" />
    int id= 0;
    id=Convert.ToInt16(Request.QueryString["ID"]);或
    SqlDataSource1.SelectCommand = sql;
      

  2.   

    where (id=<%# Request.QueryString %>)
      

  3.   

    1.可在sqlDataSource的设置界面进行设置!!形成的前台代码大致如下:
            <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
                ConnectionString="<%$ ConnectionStrings:DbaseConnectionString %>" 
                SelectCommand="SELECT * FROM [TABLE1] WHERE ([id] = @id)">
                <SelectParameters>
                    <asp:QueryStringParameter Name="id" QueryStringField="xx" Type="Int32" />
                </SelectParameters>
            </asp:SqlDataSource>2.也可以在后台设置替换QueryStringField="xx" ,如:
       protected void Page_Load(object sender, EventArgs e)
        {
            SqlDataSource1.SelectParameters["id"].DefaultValue = "1";
        }
      

  4.   

    补充4楼:
    3.也可以这样:
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlDataSource1.SelectParameters["id"].DefaultValue = Request.QueryString["id"].ToString();
        }
      

  5.   

    提示错误:服务器标记不能包含 <% ... %> 构造。
      

  6.   

    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
      ConnectionString="<%$ ConnectionStrings:DbaseConnectionString %>" 
      SelectCommand="SELECT * FROM [TABLE1] WHERE ([id] = @id)">
      <SelectParameters>
      <asp:QueryStringParameter Name="id" QueryStringField="xx" Type="Int32" />
      </SelectParameters>
      </asp:SqlDataSource>
      

  7.   

    倒是可以运行了,但是结果不对啊。
    QueryStringField="xx" Type="Int32"
    这两个参数要改吗?
      

  8.   

    DataScource控件在设计视图上有一个向导,不知道怎么写这个代码直接用哪个向导啊,不用这么麻烦。
      

  9.   

    谢谢!SqlDataSource1.SelectCommand = sql;
    这个可以。