あなたが言ったように、「ドロップダウンと同じデータソースであるため、ドロップダウンにはより小さな個別のリストが表示されます。」
Database InformationをViewStateに保持できます。このように Request to Databaseして、クライアントのリクエストを防ぐことができます。したがってReducing the Access time。
例
public DataTable Employees
{
get
{
if (ViewState["Employees"] == null)
{
return FollowsDAL.GetAllEmployees();
}
return (DataTable)ViewState["Employees"];
}
set
{
ViewState["Employees"] = value;
}
}
ViewStateデータフィルタリングを高速化するにはどうすればよいですか?
答えは - 使用しないでくださいUpdate Panel。を使用しますPage Method。
以下の例を確認してください。で使用Update PanelしましScript Managerた。

出力

22 文字の文字列を表示するには、サーバーに送受信されているデータの量を確認できます。次のことを想像してみてください
- 更新パネルを使用して各要求をデータベースに送信することを検討し、GridView が
Update Panel!!!!!!にある場合
- リクエストごとにViewStateデータを使用し、
GridView内部でUpdate Panel.
私の理解では、上記の両方の手法は最悪です。
ここで、ページメソッドについて説明します
更新パネル上のページ メソッド
Page methodsASP.NET AJAXを使用して、ページが を直接実行できるようPage’s Static MethodsにしJSON (JavaScript Object Notation)ます。posting back and then receiving HTML markuptoの代わりにcompletely replace our UpdatePanel’s contents、 a を使用して、web method関心のある情報のみを要求できます。
サンプルコード

出力

したがって、結論は、私は間違いなくViewState BUTを使用するということPage Methodsです。
ViewState データに対するフィルタリング手法。
public static class GetFilteredData
{
public static DataTable FilterDataTable(this DataTable Dt,
string FilterExpression)
{
using (DataView Dv = new DataView(Dt))
{
Dv.RowFilter = FilterExpression;
return Dv.ToTable();
}
}
}
例
DataTableObject.FilterDataTable("Search Expression")
こんにちは vpiTriumph... コードに少し改善が見られました。以下は、推奨されるアプローチです。
Cシャープのサンプルコード
private void DsataBaseInteraction()
{
using (SqlConnection con = new SqlConnection("Your Connection String"))
{
using (SqlCommand cmd = new SqlCommand())
{
cmd.Connection = con;
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.CommandText = "Your Stored Procedure name";
using (SqlDataReader DR = cmd.ExecuteReader())
{
}
}
}
}
@KevinDeus -Database使用されているのはSQL Server. Stored Procedureしたがって、以下はinに対する私の提案ですDatabase。
Create Proc ProcedureName
@UserName Varchar(50),
@Password Varchar(50),
@Email Varchar(50)
As
SET NOCOUNT ON
SET XACT_ABORT ON
Begin Try
Begin Tran
Insert into Account (Username,Password, Email)
Values(@UserName, @Password, @Email)
Commit Tran
End Try
Begin Catch
Rollback Tran
End Catch