通过 <SelectParameters>访问嵌套控件

不可直接访问某控件时,可通过添加 <SelectParameters>属性来访问,如asp:table中嵌套ComboBox控件时。

<asp:SqlDataSource ID="kehu" runat="server" 

        ConnectionString="<%$ ConnectionStrings:Production_ManagementConnectionString %>" 
        
        
        SelectCommand="SELECT 来料日期, 客户名称, 品名, 来料批号,  规格, 材质, 数量, 重量, 硬度要求, 渗层要求, 变形要求, 其他要求, 处理类别, 入库日期, 发货日期, 备注 FROM ExWarehouseView WHERE (客户名称 = @客户名称2) ORDER BY 来料日期 DESC">
        <SelectParameters>
            <asp:ControlParameter ControlID="ComboBox1" Name="客户名称2" 
                PropertyName="SelectedValue" Type="String" />
        </SelectParameters>
    </asp:SqlDataSource>

后台:kehu. SelectCommand="SELECT 来料日期, 客户名称, 品名, 来料批号,  规格, 材质, 数量, 重量, 硬度要求, 渗层要求, 变形要求, 其他要求, 处理类别, 入库日期, 发货日期, 备注 FROM ExWarehouseView WHERE (客户名称 = '"+temp.Text+"') ORDER BY 来料日期 DESC"

附加:第二种用法:
<asp:SqlDataSource ID = "goods1" runat = "server"
                         ConnectionString = "<%$ ConnectionStrings:Production_ManagementConnectionString %>" 
                        SelectCommand = "SELECT 客户名称,材质, 规格, 来料批号,收发卡号, 急件, 交货日期, 硬度要求,渗层要求,变形要求, 其他,总重量, 已排重量,数量,已排数量 FROM daiJiagong WHERE (来料批号 LIKE 'DY%') AND (收发卡号 IN (@rfid)) order BY 材质,急件,硬度要求 ">
                        <SelectParameters>
                            <asp:ControlParameter ControlID="tempp" Name="rfid" PropertyName="Text" />
                        </SelectParameters>

                    </asp:SqlDataSource>  

注意:此种用法在后台需重新初始化SelectCommand属性值。此时需注意,变量“收发卡号”的数据格式,如若“收发卡号”的格式为varchar类型,则rfid中的每一个数据都必须为varchar类型,在c#里,就必须加单引号。
如:tempp.Text = "'01',''02";//这里若为"1,2",则会出错
SqlDataSource1.SelectCommand = "SELECT 来料批号, 收发卡号,客户名称,材质, 规格,急件, 总重量,已排重量,已排数量,硬度要求,数量 FROM daiJiagong WHERE (来料批号 LIKE 'DY%') AND 收发卡号 IN (" + tempp.Text.ToString() + ") order BY 材质,急件,硬度要求"//这里若为收发卡号 IN '(" + tempp.Text.ToString() + ")',亦会出错,这里的集合没必要用


转载于:https://my.oschina.net/starmier/blog/98222

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值