ارسال متن (مقدار) TextBox به عنوان پارامتر به SqlDataSource در ASP.Net
چهارشنبه 8 مهر 1394در اینجا نشان می دهیم که چگونه می توان متن(مقدار) TextBox را به عنوان CommandParameter(پارامتر فرمان) به SqlDataSource در ASP.Net پاس دهیم.
در ادامه روند کار را به صورت زیر توضیح می دهیم:
پایگاه داده
ما در اینجا از پایگاه داده Microsoft’s Northwind استفاده کرده ایم. که در مقالات قبلی نحوه نصب و کار با این بانک اطلاعاتی را توضیح داده ایم که می توانید در این لینک آن را مطالعه بفرمایید.
پر کردن و فیلترینگ GridView
در صفحه HTML زیر یک کنترل ،ASP.Net GridView یک TextBox و یک Button وجود دارد.
GridView با رکوردهایی از جدول مشتریان(Customers) پایگاه داده Northwind و با استفاده از SqlDataSource پر می شود. برای SqlDataSource ما FilterExpression را همراه با SelectCommand مشخص کرده ایم که از رکوردهایی که بر اساس مقادیر وارد شده در TextBox استفاده شده است.
Search Customer: <asp:TextBox ID="txtSearch" runat="server"></asp:TextBox> <asp:Button ID="btnSearch" runat="server" Text="Search" /> <hr /> <asp:GridView ID="GridView1" HeaderStyle-BackColor="#3AC0F2" HeaderStyle-ForeColor="White" runat="server" AutoGenerateColumns="false" DataSourceID="GridDataSource" AllowPaging="true"> <Columns> <asp:BoundField DataField="ContactName" HeaderText="Name" ItemStyle-Width="150" /> <asp:BoundField DataField="City" HeaderText="City" ItemStyle-Width="150" /> <asp:BoundField DataField="Country" HeaderText="Country" ItemStyle-Width="150" /> </Columns> </asp:GridView> <asp:SqlDataSource ID="GridDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:ConStr %>" SelectCommand="SELECT ContactName, City, Country FROM Customers" FilterExpression="ContactName LIKE '{0}%'"> <FilterParameters> <asp:ControlParameter Name="Country" ControlID="txtSearch" PropertyName="Text" /> </FilterParameters> </asp:SqlDataSource>
SelectCommand_ در اینجا ما باید SQL Query پیش فرض را بدون هرگونه WHERE و یا فیلتری تنظیم کنیم.
FilterExpression_ در اینجا ما نیاز به تنظیم بخشی از فیلتر های SQL Query با placeholder{0} داریم. placeholder{0} با مقدار ControlParameter جایگزین می شود. برای مثال متن TextBox.
FilterParameters_ در اینجا ما پارامترهای کنترل را برای استفاده FilterExpression مشخص می کنیم.
به محض اینکه برخی از متن ها در TextBox وارد شود دکمه جستجو کلیک شده و رکوردهای GridView فیلتر می شوند.
- ASP.net
- 2k بازدید
- 3 تشکر