<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:gamedataConnectionString %>" 
            SelectCommand="SELECT [id], [title], [category], [swfpic], [viewnum] FROM [gameinfo] WHERE ([category] = @category)">
            <SelectParameters>
                <asp:QueryStringParameter DefaultValue="9" Name="category" 
                    QueryStringField="category" Type="Int32" />
            </SelectParameters>
        </asp:SqlDataSource>
后台aspx.cs取值:        string stitle = "";
        string scate = SqlDataSource1.SelectParameters["category"].DefaultValue;
为什么只能取到缺省值9??
要取到每个值该怎么做?请教高手啊!~~~~~~~~~

解决方案 »

  1.   

                    <asp:QueryStringParameter DefaultValue="9" Name="category" 
                        QueryStringField="category" Type="Int32" />
    这个地方好像是可以指定参数提供的控件的把。不提供参数才用默认的9
    而且你的代码上也是不管什么情况都是读取默认值的。
      

  2.   

    你用了DefaultValue当然是默认值了。要取每个值那你不能用string,因为是数组了,因为你有多条记录
    要用string[]
      

  3.   

    你上面不是写明接收["category"].DefaultValue吗,
    DefaultValue="9" Name="category"这儿不是写明是9吗??/
      

  4.   

    直接在后台通过代码实现吧!http://www.javaeye.com/topic/66032
    http://www.cnblogs.com/scottckt/archive/2008/08/12/1266208.html
      

  5.   

      <asp:QueryStringParameter DefaultValue="9" Name="category" 
    我晕本来不想说的,但是忍不住手养!
      

  6.   

    这样说吧,把默认值取消:
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
                ConnectionString="<%$ ConnectionStrings:gamedataConnectionString %>" 
                SelectCommand="SELECT [id], [title], [category], [swfpic], [viewnum] FROM [gameinfo] WHERE ([category] = @category)">
                <SelectParameters>
                    <asp:QueryStringParameter Name="category" 
                        QueryStringField="category" Type="Int32" />
                </SelectParameters>
            </asp:SqlDataSource>现在我要在aspx.cs里取到category字段的值该如何做?
      

  7.   

    因为你在sqldatasource控件里用到了QuieryStringParameter参数,所以实际上这个页面是接受另一个页面传过来的QueryString参数值来显示结果
    你要获得category字段的值,可以用
    string category= Request.QueryString["category"].ToString();
      

  8.   

    defaultValue如果这个页面中category参数没有从另一个页面接收到传过来的任何值,那么数据源空间会缺省的把这个值赋给它