怎么从使用用户控件的页面传递值给用户控件页面中DefaultValue
也就是说DefaultValue的值现在是5,怎么修改成10请大家指点指点,谢谢这用户控件里面的代码//其它无关代码省略。
 <asp:ObjectDataSource ID="obsNewBooks" runat="server" SelectMethod="GetNewBooks" TypeName="BookShopBLL.BookManager">
            <SelectParameters>
                <asp:Parameter DefaultValue="5" Name="num" Type="Int32" />//修改这里的DefaultValue的值
            </SelectParameters>
        </asp:ObjectDataSource>
这使用用户控件页面的代码<%@ Register Src="_Contorls/HotBookControl.ascx" TagName="HotBookControl" TagPrefix="uc1" %>
<uc1:HotBookControl ID="hbcHotBook" runat="server"/>

解决方案 »

  1.   

    倒行逆施了吧?运行时动态变化的状态,何必搞什么 DefaultValue?
      

  2.   


    为查询设置值的正常的做法是这样的,例如Protected void obsNewBooks_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
    {
        e.InputParameters["num"] = this.Num;
    }
    我不知道你从哪里学的,但是一定要尽可能用“正”的方法来解决问题,维持DefalutValue它的真实状态,你才能跟别人合作。软件确实都可以胡乱拼凑出来,但是两个以上的人开发,就需要一定的规矩。实际上就算一个人自己开发,有规矩也是好事。当一个UI代码设计时DefaultValue是5,你某一刻仅仅为自己方便就把 DefaultValue 给变为10了,假设这个页面上还有一个程序员也写了一块代码,如果他也为了自己方便胡乱修改DefaultValue改为15,听谁的?设计师最初设计的DefaultValue,你不能搅乱!
      

  3.   

    sp1234 大哥 你说的我明白
    我的意思是:如果有两个页面都调用该用户控件,而且DefaultValue值分别为10和15
    那我不能写两个一模一样的用户控件啊,最简单的方法就是通过传值的达到代码的重复使用。但是,我不知道该怎么写代码,唉~~!