不可直接訪問某控件時,可經過添加 <SelectParameters>屬性來訪問,如asp:table中嵌套ComboBox控件時。c#
<asp:SqlDataSource ID="kehu" runat="server" 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>
io
後臺:kehu. SelectCommand="SELECT 來料日期, 客戶名稱, 品名, 來料批號, 規格, 材質, 數量, 重量, 硬度要求, 滲層要求, 變形要求, 其餘要求, 處理類別, 入庫日期, 發貨日期, 備註 FROM ExWarehouseView WHERE (客戶名稱 = '"+temp.Text+"') ORDER BY 來料日期 DESC"table
附加:第二種用法:
<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() + ")',亦會出錯,這裏的集合不必用數據