ارسال متن (مقدار) TextBox به عنوان پارامتر به SqlDataSource در ASP.Net

چهارشنبه 8 مهر 1394

در اینجا نشان می دهیم که چگونه می توان متن(مقدار) TextBox را به عنوان CommandParameter(پارامتر فرمان) به SqlDataSource در ASP.Net پاس دهیم.

ارسال متن (مقدار) TextBox به عنوان پارامتر به 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 فیلتر می شوند.

 

 

 

فایل های ضمیمه

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید