جلوگیری از درج تکراری هنگام refreshe صفحه در Asp.net
با سلام در این مقاله، برای رایج ترین مسئله ای که بسیاری از برنامه نویسان ASP.Net با آن روبرو شده اند، یعنی جلوگیری از تکرار درج در رکورد صفحه در ASP.Net است صحبت میکنیم . درج های تکراری زمانی رخ می دهد که یک صفحه پس از قرار دادن یا به روز رسانی دستورالعمل SQL Server اجرا می شود , پنجره زیر را از مرورگر دریافت می کنیم.

ساده ترین راه حل برای حل این مشکل هدایت کاربر پس از اجرای درج یا عملیات به روز رسانی است. شما می توانید این دو راه را انجام دهید .
تغییر مسیر به یک صفحه دیگر
بعد از قرار دادن یا به روزرسانی پیامی نمایش داده می شود، می توانید کاربر را به یک صفحه دیگر هدایت کنید که در زیر شرح داده شده است
C #
private void InsertData()
{
string strQuery = "insert into customers (CustomerID, CompanyName) values(@CustomerID, @CompanyName)";
SqlCommand cmd = new SqlCommand(strQuery);
cmd.Parameters.AddWithValue("@CustomerID", "A234");
cmd.Parameters.AddWithValue("@CompanyName", "DCB");
InsertUpdateData(cmd);
Response.Redirect("~/Success.aspx");
}
VB.Net
Private Sub InsertData()
Dim strQuery As String = "insert into customers (CustomerID, CompanyName) values(@CustomerID, @CompanyName)"
Dim cmd As SqlCommand = New SqlCommand(strQuery)
cmd.Parameters.AddWithValue("@CustomerID", "A234")
cmd.Parameters.AddWithValue("@CompanyName", "DCB")
InsertUpdateData(cmd)
Response.Redirect("~/Success.aspx")
End Sub
تغییر مسیر به همان صفحه
بعد از قرار دادن یا به روزرسانی ، شما می توانید کاربر را به همان صفحه طبق روش زیر تغییر دهید.
C #
private void InsertData()
{
string strQuery = "insert into customers (CustomerID, CompanyName) values(@CustomerID, @CompanyName)";
SqlCommand cmd = new SqlCommand(strQuery);
cmd.Parameters.AddWithValue("@CustomerID", "A234");
cmd.Parameters.AddWithValue("@CompanyName", "DCB");
InsertUpdateData(cmd);
Response.Redirect(Request.Url.AbsoluteUri);
}
VB.Net
Private Sub InsertData()
Dim strQuery As String = "insert into customers (CustomerID, CompanyName) values(@CustomerID, @CompanyName)"
Dim cmd As SqlCommand = New SqlCommand(strQuery)
cmd.Parameters.AddWithValue("@CustomerID", "A234")
cmd.Parameters.AddWithValue("@CompanyName", "DCB")
InsertUpdateData(cmd)
Response.Redirect(Request.Url.AbsoluteUri)
End Sub
بنابراین با استفاده از روش فوق شما می توانید به آسانی از قرار دادن تکراری در پایگاه داده SQL Server خود در Application جلوگیری کنید .