Альтернативный способ обработки значений для вашей формы:
function SaveForm() {
var name = $("#User").val();
var pwd = $("#Password").val();
var email = $("#Email").val();
var json = {
name:name,
pwd:pwd,
email:email
};
if (name == "" || pwd == "" || email == "") {
$("#message1").hide();
$("#message2").show();
return false;
}
$.ajax({
type: "post",
dataType: "json",
data: {"json": JSON.stringify(json)},,
url: "@Url.Action("SaveData","Registration")",
success: function (result) {
$("#message1").show();
$("#message2").hide();
$("#Registration")[0].reset();
}
});
}
И ваш Controller
будет выглядеть так:
using System.Web.Script.Serialization;
[HttpPost]
public JsonResult SaveData(string json)
{
var serializer = new JavaScriptSerializer();
dynamic jsondata = serializer.Deserialize(json, typeof(object));
//Get your variables here from AJAX call
var name= jsondata["name"];
var pwd= jsondata["pwd"];
var email= jsondata["email"];
//Set your model here:
SiteUser model=new SiteUser();
model.name=name;
model.pwd=pwd;
model.email=email;
//Perform db actions
db.SiteUsers.Add(model);
db.SaveChanges();
BuildEmailTemplate(model.ID);
return Json("Registration Successfull", JsonRequestBehavior.AllowGet);
}