0

Default Dynamic Data Site を作成しました。どうすれば検索を追加できますか?

4

2 に答える 2

1

次の手順で検索機能を追加できます。

最初に、次のコードを使用して UI を List.aspx ページに追加します。

<fieldset id="MultiSearchFieldSet" class="DD" runat="server" visible="False">
 <asp:TextBox ID="txbMultiColumnSearch" CssClass="DDTextBox" runat="server" />
    <asp:Button ID="btnMultiColumnSearchSubmit" CssClass="DDControl" runat="server" Text="Search"
        OnClick="btnMultiColumnSearch_Click" />
    <asp:Button ID="btnMultiColumnSearchClear" CssClass="DDControl" runat="server" Text="Clear"
        OnClick="btnMultiColumnSearch_Click" />
</fieldset>

次に、ボタンのコード ビハインドを追加したいので、List.aspx.cs で以下に移動します。

protected void btnMultiColumnSearch_Click(object sender, EventArgs e)
        {
        }

そして、それをに変更します

 protected void btnMultiColumnSearch_Click(object sender, EventArgs e)
        {
            var button = (Button)sender;
            if (button.ID == btnMultiColumnSearchClear.ID)
                txbMultiColumnSearch.Text = String.Empty;
            else
                using (PhoneListDataContext Data = new PhoneListDataContext())
                {
                    EmployeeNameString = txbMultiColumnSearch.Text;
                    var SearchResults = Data.Employees.Where
                       (Employee => (Employee.FirstName.Contains(EmployeeNameString) || (Employee.LastName.Contains(EmployeeNameString))));


                    GridView1.DataSourceID = ""; 
                    GridView1.DataSource = SearchResults;
                    GridView1.DataBind();


                }
        }

最後に、"Employees" テーブルのみを検索しているため、検索ボックスの可視性を従業員のテーブルのみにフィルター処理したいと考えています。

そこで、このコードをprotected void Page_LoadのList.aspx.csに追加します。

 if (table.DisplayName == "Employees") { MultiSearchFieldSet.Visible = true; }     
            else
            { MultiSearchFieldSet.Visible = false; };

そして今、ページは検索可能です!

于 2013-03-22T15:29:38.100 に答える