ASP.NET
A set of technologies in the .NET Framework for building web applications and XML web services.
3,598 questions
This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
I am populating Enrollnumber using Below Model Class into View
public class RecordID
{
SqlConnection con = new SqlConnection("data source=SERVER1\\SQLEXPRESS;initial catalog=SilverProduction;integrated security=True;MultipleActiveResultSets=True;");
public List<EmpMasterMV> GeneateEmpID()
{
List<EmpMasterMV> item = new List<EmpMasterMV>();
con.Open();
SqlCommand cmd = new SqlCommand("Sp_Lastinsert_Emp_ID", con);
cmd.CommandType = CommandType.StoredProcedure;
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
var details = new EmpMasterMV();
details.EnrollNumber = int.Parse(rdr["EnrollNumber"].ToString());
item.Add(details);
}
con.Close();
return item;
}
}
and Calling above class in Controller
public class EmployeeController : Controller
{
SilverProductionEntities DB = new SilverProductionEntities();
RecordID sdb = new RecordID();
// GET: Employee
public ActionResult CreaterEmployee()
{
empmastmv.EnrollNumbera =(sdb.GeneateEmpID());
return View(empmastmv);
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult CreaterEmployee(EmpMasterMV empmastmv)
{
if (ModelState.IsValid)
{
var CheckEmployee = DB.EmpMasters.Where(u => u.EmpName == empmastmv.EmpName.Trim() && u.FatherName == empmastmv.FatherName).FirstOrDefault();
if (CheckEmployee == null)
{
var newemployee = new EmpMaster();
newemployee.EnrollNumber = empmastmv.EnrollNumber;
DB.EmpMasters.Add(newemployee);
DB.SaveChanges();
return RedirectToAction("AllEmployeeList");
}
else
{
ModelState.AddModelError("Employee", "Already Exists..!");
}
}
return View(empmastmv);
}
View
@model ERP_APP.Models.EmpMasterMV
@{
ViewBag.Title = "CreaterEmployee";
}
<div class="col-lg-8">
<div class="card card-default mb-5">
<div class="card-header">Employee Form</div>
<div class="card-body">
@using (Html.BeginForm("CreaterEmployee", "Employee", FormMethod.Post))
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
<hr />
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
@Html.LabelFor(model => model.EnrollNumber, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.EnrollNumber, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.EnrollNumber, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Create" class="btn btn-default" />
</div>
</div>
</div>
}
<div>
@Html.ActionLink("Back to List", "AllEmployeeList")
</div>
</div></div></div>
when inserting into database ,then 0 Value is getting insert
How did you check the value of inserted EnrollNumber? To verify that DB.SaveChanges()
works, execute something like newemployee.EnrollNumber = 1234
before saving, then check the database.
Also check if this modification helps:
public ActionResult CreaterEmployee()
{
return View(sdb.GeneateEmpID()[0]);
}
or this:
public ActionResult CreaterEmployee()
{
empmastmv.EnrollNumbera = sdb.GeneateEmpID();
empmastmv.EnrollNumber = empmastmv.EnrollNumbera[0].EnrollNumber;
return View(empmastmv);
}
Maybe EnrollNumbera is not needed.