Hi All,
I want to pass Ajax begin form data to my controller i'm new to Ajax here is my code appreciate anyones help
@using (Ajax.BeginForm("AddNewStore", "StoreRegistration", new AjaxOptions { HttpMethod = "POST", OnSuccess = "successOfAddition", OnFailure = "FailureOfAddition" }, new { id = "addStoreRegisterForm" }))
{
<form class="registration-form">
@Html.TextBoxFor(x => x.StoreRegistrationAssociation.StoreNumber, new { @class = "form-control", placeholder = "Store Number" }) @Html.ValidationMessageFor(x => x.StoreRegistrationAssociation.StoreNumber)
@Html.TextBoxFor(x => x.StoreRegistrationAssociation.FirstName, new { @class = "form-control", placeholder = "Firt Name" })
@Html.ValidationMessageFor(x => x.StoreRegistrationAssociation.FirstName)
<input type="reset" value="Cancel" />
<input id="btnRegisterStore" type="submit" value="Agree" />
</form>
}
</div>
<script src="~/Scripts/jquery-1.11.3.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#btnRegisterStore").click(function (e) {
//var dataToPost = $("#RegisterStore").serialize()
//debugger;
$.ajax(
{
type: "POST",
data: dataToPost,
datatype: "json",
url: '@Url.Action("AddNewStore", "StoreRegistration")',
contentType: 'application/json; charset=utf-8',
success: function (result) {
redirectToLoginPage(result);
$('#unobtrusive').html(result);
PagedOnComplete();
},
error: function (xhr, ajaxOptions, thrownError) {
alert('Failed to load the result');
}
})
})
});
</script>
My Controller
==========
public async Task<ActionResult> AddNewStore(StoreRegistrationViewModel storeRegistrationVModel)
{
var message = new MessageModel();
Convert.ToInt32(PrincipalContext.StoreNumber) : 01800;
var config = new MapperConfiguration(cfg =>
{
cfg.CreateMap<StoreRegistrationInfoModel, StoreRegistration>().ReverseMap();
});
IMapper mapper = config.CreateMapper();
var storeRegistrationAccessModel = mapper.Map<StoreRegistrationInfoModel, StoreRegistration>(storeRegistrationVModel.StoreRegistrationAssociation);
var storeUser = new sp_getStoreRetailIdentities_Result
{
categoryid =storeRegistrationAccessModel.StoreIdentity,
retailname=storeRegistrationAccessModel.StoreName
};
var identityResult = await identityValidator.ValidateAsync(storeUser);
if (!identityResult.Succeeded)
{
message = GetMessages(MessageType.Error, string.Join(" ", identityResult.Errors));
return Json(message);
}
try
{
await storeRegistrationAccessRepository.SubmitStoreRegistrationAsync(storeRegistrationAccessModel);
Join Hands Change lives
Thanks & Regards
Straight Edge Society