This post lets you understand to create a view which bind with model, using this approach you can create to form to save the record in the database fastest and easily. As we know validation and binding model with jquery is very time taking task. The model view automatically creates forms as per the model. You can make validation rules in the model.
Model
Note : use (using System.ComponentModel.DataAnnotations;) namespace
public class ApplyOnlineModel : CommonDataModel
{
[Required (ErrorMessage="Please
enter your name")]
[Display(Name="Student
Name")]
public string StudentName { get; set; }
[Required (ErrorMessage="First
Phone number"),Display (Name="working Phone number")]
[RegularExpression(@"^([0-9]{10})$", ErrorMessage = "Invalid
Mobile Number.")]
public string Phone1 { get; set; }
[Display (Name="Alternate
Phone Number")]
}
View
Note : Add the following reference
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script src="~/Scripts/jquery.validate.js"></script>
<script src="~/Scripts/jquery.validate.min.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>
@using(Html.BeginForm())
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
@Html.LabelFor(model =>
model.StudentName )
@Html.TextBoxFor(model =>
model.StudentName, new { @class = "form-control", placeholder = "Your
Name" })
@Html.ValidationMessageFor(model
=> model.StudentName, "", new { @class = "g-mandate" })<br />
@Html.LabelFor(model =>
model.Phone1 )
@Html.TextBoxFor(model =>
model.Phone1, new { @class = "form-control" })
@Html.ValidationMessageFor(model
=> model.Phone1, "", new { @class = "g-mandate" })<br />
@Html.LabelFor(model =>
model.Phone2 )
@Html.TextBoxFor(model =>
model.Phone2, new { @class = "form-control" })<br />
<input type="submit" value="Save" class="btn
btn-danger" />
}
Controller
[HttpPost]
public ActionResult apply(FormCollection data)
{
string ErrMsg = "";
ApplyOnlineModel ob = new ApplyOnlineModel();
WebsiteRepository ob2 = new WebsiteRepository();
if (ModelState.IsValid)
{
ob.StudentName = data["StudentName"];
ob.Phone1 = data["Phone1"];
ob.Phone2 = data["Phone2"];
ob2.SaveApplyOnline(ob, ref ErrMsg);
if (ErrMsg == "")
return RedirectToAction("success", "common");
else
return RedirectToAction("error", "Common", new { msg = @ErrMsg });
}
return RedirectToAction("error","common");
}Repository
public bool SaveApplyOnline(ApplyOnlineModel ob, ref string ErrMsg)
{
String result = "";
try
{
using (SqlConnection dbcon = new SqlConnection(ConfigurationManager.ConnectionStrings["dbConnection"].ToString()))
{
using (SqlCommand cmd = new SqlCommand("[dbo].[AddApplyOnline]", dbcon))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@StudentName", ob.StudentName);
cmd.Parameters.AddWithValue("@Phone1", ob.Phone1);
cmd.Parameters.AddWithValue("@Phone2", ob.Phone2);
if (dbcon.State == ConnectionState.Closed)
dbcon.Open();
cmd.ExecuteNonQuery();
result = "1";
}
}
}
catch (Exception ex)
{
ErrMsg = ex.Message;
}
if (result == "1")
return true;
else
return false;
}
No comments:
Post a Comment