在asp.net中调用过程

时间:2013-07-15 09:40:18

标签: asp.net sql-server ado.net

我想调用一个过程来填充表单中的下拉列表。现在我正在使用这样的代码:

 <td class="style4">Choose Category:&nbsp;<font color="red">*</font></td>
 <td class="style3">
     <asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="cat1"
                                                        DataTextField="catname" DataValueField="catname">
     </asp:DropDownList>
     <asp:SqlDataSource ID="cat1" runat="server" ConnectionString="<%$ ConnectionStrings:billingdatabase%>" ProviderName="System.Data.SqlClient" SelectCommand="SELECT [catname] FROM [Category]">
     </asp:SqlDataSource>
 </td>

程序:

GO
CREATE PROCEDURE [dbo].[spshowproducts]
AS
BEGIN
  SELECT catname FROM Category 
END
GO

2 个答案:

答案 0 :(得分:0)

对不起,我不确定我是否完全理解你的问题 - 一些更多的细节将不胜感激。

如果您的用户定义函数是存储过程,您应该能够将其用作数据的基础。将DropDownList绑定到SqlDataSource,并将SqlDataSource的源设置为存储过程的名称,而不是指定原始SQL。

答案 1 :(得分:0)

试试这个:

 <td class="style4">Choose Category:&nbsp;<font color="red">*</font></td>
                                                <td class="style3">
                                                    <asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="cat1"
                                                        DataTextField="catname" DataValueField="catname">
                                                    </asp:DropDownList>
                                                    <asp:SqlDataSource ID="cat1" runat="server"
                                                        ConnectionString="<%$ ConnectionStrings:billingdatabase%>"
                                                        ProviderName="System.Data.SqlClient"
                                                        SelectCommand="EXEC [dbo].[spshowproducts]"></asp:SqlDataSource>
                                                    </td>