Hi bh0526,
Please check the below code its working. Until you fill the serial no textbox submit button code will not executed.
HTML
<table>
<tr>
<td>
<asp:GridView ID="gvItems" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateField HeaderText="Sku">
<ItemTemplate>
<asp:Label ID="lblSku" runat="server" Text='<%# Eval("RmaSku") %>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Description">
<ItemTemplate>
<asp:Label ID="lblName" runat="server" Text='<%# Eval("Name") %>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Serial Number">
<ItemTemplate>
<asp:TextBox ID="txtSerialNum" runat="server" Text='<%# Eval("SerialNum") %>'>
</asp:TextBox>
<asp:RequiredFieldValidator ID="rfv1" runat="server" ControlToValidate="txtSerialNum"
ErrorMessage="Serial number required !" ForeColor="Red" ValidationGroup="VG">
</asp:RequiredFieldValidator>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</td>
</tr>
<tr>
<td>
<asp:Label ID="lblErrorsExist1" runat="server" Font-Bold="true" Visible="false">Please Complete All Required Fields </asp:Label>
</td>
</tr>
<tr>
<td>
<asp:Button ID="btnSubmit" runat="server" Text="Submit" Font-Bold="True" ForeColor="Maroon"
OnClick="btnSubmit_Click" ValidationGroup="VG" />
</td>
</tr>
</table>
Code
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[3] { new DataColumn("RmaSku", typeof(int)),
new DataColumn("Name", typeof(string)),
new DataColumn("SerialNum",typeof(string)) });
dt.Rows.Add(1, "John Hammond", "1");
dt.Rows.Add(2, "Mudassar Khan", "2");
dt.Rows.Add(3, "Suzanne Mathews", "3");
dt.Rows.Add(4, "Robert Schidner", "4");
gvItems.DataSource = dt;
gvItems.DataBind();
}
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
foreach (GridViewRow dr in gvItems.Rows)
{
Label lRmaDetailId = dr.FindControl("lblRmaDetailId") as Label;
Label lSku = dr.FindControl("lblSku") as Label;
Label lSerReq = dr.FindControl("lblRmaSerialNumRequired") as Label;
TextBox sn = dr.FindControl("txtSerialNum") as TextBox;
Session["ErrorsExist"] = "";
lblErrorsExist1.Visible = false;
//if (lSerReq.Text == "Y")
//{
if (sn.Text.Length == 0)
{
lblErrorsExist1.Visible = true;
Session["ErrorsExist"] = "Y";
}
else
{
sn.BackColor = Color.White;
}
//}
}
}
Screenshot
