我有一个 Windows aspx 表单,其中有一个 TextBox
、Button
和一个 GridView
。 TextBox
存储为变量 @subschedule 并传递给存储过程。我想做的就是将该过程的结果填充到我的 GridView 中。谁能建议一种方法来做到这一点?
谢谢
最佳答案
两个流行的选项:
1..隐藏代码:
string subSchedule = txtSubSchedule.Text.Trim();
//you'll create a new class with a method to get a list of customers
//from your database as others answers have demonstrated
IEnumerable<Customer> custs = MyDataLayer.GetCustomers(subSchedule);
myGrid.DataSource = custs;
myGrid.DataBind();
2..使用SqlDataSource。这是将 ASP.NET 服务器控件绑定(bind)到存储过程的一种快速但肮脏的方法。它有易于实现的优点,但也有一些其他缺点:
<asp:GridView id="myGrid"
runat="server"
AutoGenerateColumns="true"
DataSourceID="ds1" />
<asp:SqlDataSource
id="ds1"
runat="server"
ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
SelectCommandType="StoredProcedure"
SelectCommand="GetSchedule">
<SelectParameters>
<asp:ControlParameter name="SubSchedule"
ControlID="txtSubSchedule" Propertyname="Text"/>
</SelectParameters>
</asp:SqlDataSource>
关于asp.net - 从存储过程获取结果以填充 GridView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5199534/