http://puu.sh/oeilN/bf8d288fee.pngC# Visual Studio: Diğer alanlar için doğrulayıcıları etkinleştirmeden GridView'ü nasıl güncellerim? ama her zaman i satırında diğerinin saha doğrulayıcılarını güncellemeyi deneyin
Çocuklar, ben bir GridView var ve güncelleme başarılı oldu kullanıcı anlatmak için bir etkinlik (GridView1_RowUpdated) kullanmaya çalışıyorum Metin giriş alanları aktive edilir. Bilmek istediğim, bunu nasıl durdurabilirim?
C# dosyası:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class ProductsAdmin : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
lblUpdate.Text = "";
lblErrorMessage.Text = "";
}
protected void btnAdd_Click(object sender, EventArgs e)
{
lblErrorMessage.Text = "";
SqlDataSource1.InsertParameters["ProductCode"].DefaultValue = txtProdNum.Text;
SqlDataSource1.InsertParameters["Name"].DefaultValue = txtName.Text;
SqlDataSource1.InsertParameters["Version"].DefaultValue = txtVersion.Text;
SqlDataSource1.InsertParameters["ReleaseDate"].DefaultValue = txtReleaseDate.Text;
try
{
SqlDataSource1.Insert();
}
catch (Exception ex)
{
lblErrorMessage.Text = " A database connection error has occured: " + ex;
}
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
}
protected void GridView1_RowDeleted(object sender, GridViewDeletedEventArgs e)
{
lblUpdate.Text = "";
if (e.Exception != null)
{
lblUpdate.Text = "A database error has occured: " + e;
}
else if (e.AffectedRows == 0)
{
lblUpdate.Text = "Another user may have updated this row already." + "<br/> Please try again.";
}
else
{
lblUpdate.Text = "Deletion succesful!";
}
}
protected void GridView1_RowUpdated(object sender, GridViewUpdatedEventArgs e)
{
lblUpdate.Text = "";
if(e.Exception != null)
{
lblUpdate.Text = "A database error has occured: " + e;
e.ExceptionHandled = true;
e.KeepInEditMode = true;
}
else if (e.AffectedRows == 0)
{
lblUpdate.Text = "Another user may have updated this row already. <br/> Please try again";
}
else
{
lblUpdate.Text = "Edit succesful!";
}
}
}
HTML:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ProductsAdmin.aspx.cs" Inherits="ProductsAdmin" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<style type="text/css">
.auto-style1 {
width: 100%;
}
.auto-style2 {
width: 113px;
}
.auto-style3 {
width: 143px;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" />
</div>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConflictDetection="CompareAllValues" ConnectionString="<%$ ConnectionStrings:ConnectionString2 %>" DeleteCommand="DELETE FROM [Products] WHERE [ProductCode] = @original_ProductCode AND [Name] = @original_Name AND [Version] = @original_Version AND [ReleaseDate] = @original_ReleaseDate" InsertCommand="INSERT INTO [Products] ([ProductCode], [Name], [Version], [ReleaseDate]) VALUES (@ProductCode, @Name, @Version, @ReleaseDate)" OldValuesParameterFormatString="original_{0}" SelectCommand="SELECT * FROM [Products]" UpdateCommand="UPDATE [Products] SET [Name] = @Name, [Version] = @Version, [ReleaseDate] = @ReleaseDate WHERE [ProductCode] = @original_ProductCode AND [Name] = @original_Name AND [Version] = @original_Version AND [ReleaseDate] = @original_ReleaseDate">
<DeleteParameters>
<asp:Parameter Name="original_ProductCode" Type="String" />
<asp:Parameter Name="original_Name" Type="String" />
<asp:Parameter Name="original_Version" Type="Decimal" />
<asp:Parameter Name="original_ReleaseDate" Type="DateTime" />
</DeleteParameters>
<InsertParameters>
<asp:Parameter Name="ProductCode" Type="String" />
<asp:Parameter Name="Name" Type="String" />
<asp:Parameter Name="Version" Type="Decimal" />
<asp:Parameter Name="ReleaseDate" Type="DateTime" />
</InsertParameters>
<UpdateParameters>
<asp:Parameter Name="Name" Type="String" />
<asp:Parameter Name="Version" Type="Decimal" />
<asp:Parameter Name="ReleaseDate" Type="DateTime" />
<asp:Parameter Name="original_ProductCode" Type="String" />
<asp:Parameter Name="original_Name" Type="String" />
<asp:Parameter Name="original_Version" Type="Decimal" />
<asp:Parameter Name="original_ReleaseDate" Type="DateTime" />
</UpdateParameters>
</asp:SqlDataSource>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" CellPadding="4" DataKeyNames="ProductCode" DataSourceID="SqlDataSource1" ForeColor="Black" GridLines="Horizontal" OnRowDeleted="GridView1_RowDeleted" OnRowUpdated="GridView1_RowUpdated" OnSelectedIndexChanged="GridView1_SelectedIndexChanged">
<Columns>
<asp:BoundField DataField="ProductCode" HeaderText="ProductCode" ReadOnly="True" SortExpression="ProductCode" />
<asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />
<asp:BoundField DataField="Version" HeaderText="Version" SortExpression="Version" />
<asp:BoundField DataField="ReleaseDate" HeaderText="ReleaseDate" SortExpression="ReleaseDate" />
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />
</Columns>
<FooterStyle BackColor="#CCCC99" ForeColor="Black" />
<HeaderStyle BackColor="#333333" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="White" ForeColor="Black" HorizontalAlign="Right" />
<SelectedRowStyle BackColor="#CC3333" Font-Bold="True" ForeColor="White" />
<SortedAscendingCellStyle BackColor="#F7F7F7" />
<SortedAscendingHeaderStyle BackColor="#4B4B4B" />
<SortedDescendingCellStyle BackColor="#E5E5E5" />
<SortedDescendingHeaderStyle BackColor="#242121" />
</asp:GridView>
<br />
<asp:Label ID="lblUpdate" runat="server"></asp:Label>
<br />
<br />
<table class="auto-style1">
<tr>
<td class="auto-style2">
<asp:Label ID="lblProdNum" runat="server" Text="Product Code:"></asp:Label>
</td>
<td class="auto-style3">
<asp:TextBox ID="txtProdNum" runat="server"></asp:TextBox>
</td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ControlToValidate="txtProdNum" Display="Dynamic" ErrorMessage="**Product code is a required field." ForeColor="Red"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="auto-style2">
<asp:Label ID="lblName" runat="server" Text="Name:"></asp:Label>
</td>
<td class="auto-style3">
<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
</td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtName" Display="Dynamic" ErrorMessage="**Name is a required field." ForeColor="Red"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="auto-style2">
<asp:Label ID="lblVersion" runat="server" Text="Version:"></asp:Label>
</td>
<td class="auto-style3">
<asp:TextBox ID="txtVersion" runat="server"></asp:TextBox>
</td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="txtVersion" Display="Dynamic" ErrorMessage="**Version is a required field." ForeColor="Red"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="auto-style2">
<asp:Label ID="lblReleaseDate" runat="server" Text="Release Date:"></asp:Label>
</td>
<td class="auto-style3">
<asp:TextBox ID="txtReleaseDate" runat="server"></asp:TextBox>
</td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="txtReleaseDate" Display="Dynamic" ErrorMessage="**Release date is a required field." ForeColor="Red"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="auto-style2"> </td>
<td class="auto-style3"> </td>
<td> </td>
</tr>
<tr>
<td class="auto-style2">
<asp:Button ID="btnAdd" runat="server" OnClick="btnAdd_Click" Text="Add Product" />
</td>
<td class="auto-style3">
<asp:Label ID="lblErrorMessage" runat="server"></asp:Label>
</td>
<td>
</td>
</tr>
</table>
</form>
</body>
</html>