I have an updatable GridView that update the Merk field by using jQuery.
Now I want to Check the value of Mark filed in GridView and I want to Restricts the user to entering numbers from 0 to 20. And Avoid inserting Mark < 0 And Mark > 20
How Can I do this truly:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" CellPadding="3" DataSourceID="SqlDataSrcAddMark" Font-Names="Tahoma" HorizontalAlign="Center" Width="800px" OnSelectedIndexChanged="GridView1_SelectedIndexChanged">
<Columns>
<asp:TemplateField HeaderStyle-CssClass="Header-center" HeaderText="نمره" ItemStyle-Width="200px" SortExpression="Mark">
<ItemTemplate>
<asp:Label ID="lbl_Text1" runat="server" Text='<%# Bind("Mark") %>'></asp:Label>
<asp:TextBox ID="txt_Text1" runat="server" AutoPostBack="true" CssClass="hideControl" OnTextChanged="Change" Text='<%# Bind("Mark") %>'></asp:TextBox>
</ItemTemplate>
<HeaderStyle CssClass="Header-center" />
<ItemStyle Width="200px" />
</asp:TemplateField>
<asp:TemplateField HeaderText="ExamAttendanceTypeId " SortExpression="ExamAttendanceTypeId">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" ReadOnly="true" Text='<%# Bind("ExamAttendanceTypeId") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%#Bind("ExamAttendanceTypeId") %>'></asp:Label>
</ItemTemplate>
<HeaderStyle CssClass="Header-center" />
</asp:TemplateField>
<asp:BoundField DataField="LastName" HeaderStyle-CssClass="Header-center" HeaderText="LastName" SortExpression="LastName">
<HeaderStyle CssClass="Header-center" />
</asp:BoundField>
<asp:BoundField DataField="FirstName" HeaderStyle-CssClass="Header-center" HeaderText="FirstName " SortExpression="FirstName">
<HeaderStyle CssClass="Header-center" />
</asp:BoundField>
<asp:BoundField DataField="LessonTitle" HeaderStyle-CssClass="Header-center" HeaderText="LessonTitle " SortExpression="LessonTitle">
<HeaderStyle CssClass="Header-center" />
</asp:BoundField>
<asp:BoundField DataField="StudentId" HeaderStyle-CssClass="Header-center" HeaderText="StudentId" SortExpression="StudentId">
<HeaderStyle CssClass="Header-center" />
</asp:BoundField>
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSrcAddMark" runat="server" ConnectionString="<%$ ConnectionStrings:KDUIS-v1ConnectionString %>" OnUpdating="SqlDataSrcAddMark_Updating" SelectCommand="ShowPresentStudent" SelectCommandType="StoredProcedure" UpdateCommand="UPDATE [EDU_Student_Course_Registration] SET [Mark] = @Mark
WHERE [StudentId] = @StudentId AND [SubjectStudyLessonCourseId]=@SubjectStudyLessonCourseId ">
<SelectParameters>
<asp:ControlParameter ControlID="SubjectStudyLessonCourseId" Name="CourseId" PropertyName="Text" Type="Int32" />
</SelectParameters>
<UpdateParameters>
<asp:Parameter Name="Mark" Type="Double" />
<asp:Parameter Name="StudentId" />
<asp:Parameter Name="SubjectStudyLessonCourseId" Type="Int32" />
</UpdateParameters>
</asp:SqlDataSource>
protected void Change(object sender, EventArgs e)
{
Person obj = new Person();
TextBox txtMark = sender as TextBox;
string mark = txtMark.Text;
//ShowMarkResult(Convert.ToInt32(mark));
GridViewRow row = (GridViewRow)txtMark.NamingContainer;
string MarkStatusId = "2";
//string status = (row.FindControl("hfStatus") as HiddenField).Value.Trim();
string query = "UPDATE EDU_Student_Course_Registration SET Mark = @Mark, MarkDate=@MarkDate, MarkStatusId=@MarkStatusId," +
" MarkResaultId=@MarkResaultId WHERE StudentId = @StudentId AND SubjectStudyLessonCourseId = @SubjectStudyLessonCourseId";
string constr = ConfigurationManager.ConnectionStrings["KDUIS-v1ConnectionString"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand(query, con))
{
cmd.Parameters.AddWithValue("@Mark", txtMark.Text);
cmd.Parameters.AddWithValue("@MarkDate", obj.CreateDateTime());
cmd.Parameters.AddWithValue("@MarkStatusId", MarkStatusId);
cmd.Parameters.AddWithValue("@MarkResaultId", Convert.ToDouble(mark));
cmd.Parameters.AddWithValue("@SubjectStudyLessonCourseId", SubjectStudyLessonCourseId.Text);
cmd.Parameters.AddWithValue("@StudentId", row.Cells[5].Text);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
GridView1.DataBind();
}
}
}