在一个用户控件里,我有一个DataList,数据源的selectParameters是要接受url传参过来的id值
现在我在A页面带一个id的参数跳转到B页面,即<a href="B.aspx?id=1">跳转到B</a>
然后我B页面就是放了上面的自定义用户控件,那个用户控件的数据源参数我选的是从QueryString获取,字段是id.
但是点"跳转到B",我的数据源控件获取不到那个ID的值.是什么原因呢?

解决方案 »

  1.   

    不要用用户控件,直接在b页面里面写querystring 就可以接收到你的ID了如果用用户空间的话,必须在用户控件里面写一个public变量 ,然后 在B页面里面对 该变量进行赋值操作
      

  2.   


    //上面是DataList的代码省略掉
    <asp:ObjectDataSource ID="ObjectDataSourceGetProductNameByStoreName" 
        runat="server" SelectMethod="GetProductListByStoreName" 
        TypeName="BLL.BLLManage">
        <SelectParameters>
            <asp:QueryStringParameter Name="storeID" 
                QueryStringField="storeID" Type="String" />
        </SelectParameters>
    这是我自定义控件DataList的数据源控件ObjectDataSource,我把它拖进B页面
     我的方法没问题,我给这个SelectParameters默认一个值1,可以取出数据来.
    但是获得从A页面过来的storeID就取不出东西了,我确定A页面过来的URL带的参数也是正确的 .