|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using DataAnnotationAjax.Models;
using DataAnnotationAjax.Controllers.ControllerBase;
namespace DataAnnotationAjax.Controllers
{
public class HomeController : BaseController
{
[HttpGet]
public ActionResult Index()
{
return View(StudentRepository.GetStudent());
}
[HttpPost]
public ActionResult AddStudent()
{
var student = new Student();
// The TryUpdateModel will use data annotation to validate
// the data passed over from the client. If any validation
// fails, the error will be written to the "ModelState".
var valid = TryUpdateModel(student);
string studentPartialViewHtml = null;
if (valid)
{
// Add the student to the repository.
// In any pratical application, exception handling should be used
// when making data access. In this small example, I will just cross
// my finger to say "there is no chance to encounter exeption" when
// adding the student. Indeed, the chance of exception is very minimal
// when adding students to my small repositoty. If the validation is
// successful, I will simply tell the client that the student is added.
StudentRepository.AddStudent(student);
// Obtain the html string from the partial view "Students.ascx"
var students = StudentRepository.GetStudent();
studentPartialViewHtml = RenderPartialViewToString("Students", students);
}
return Json(new {Valid = valid,
Errors = GetErrorsFromModelState(),
StudentsPartial = studentPartialViewHtml
});
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
I have been working in the IT industry for some time. It is still exciting and I am still learning. I am a happy and honest person, and I want to be your friend.