دوستان بلخره بنده تونستم هم ذخیره رو انجام بدم بدون رفرش یعنی هم آنگولار رو دارم استفاده میکنم و هم دارم دستور مربوط ذخیره رو به صورت خیلی ساده پیش بردم.
و هم وقتی اطلاعات ثبت میکنم اطلاعات از بین نمیره از فرم و ثابت هستش اطلاعات.
دستورات سمت کلاینت با مقدار دستور Ajax
<div id="Result"></div>
<form method="post" name="Registers" data-ajax="true" data-ajax-method="post" data-ajax-complete="Insert">
@Html.AntiForgeryToken()
<section id="tabs" class="project-tab">
<div class="container" ng-controller="MainCtrl">
<div class="row">
<div class="col-md-12">
<nav>
<div class="nav nav-tabs nav-fill" id="nav-tab" role="tablist">
<a class="nav-item nav-link active" id="nav-Info-tab" data-toggle="tab" href="#nav-Info" role="tab" aria-controls="nav-Info" aria-selected="true">مشخصات فردی</a>
<a class="nav-item nav-link" id="nav-Connect-tab" data-toggle="tab" href="#nav-Connect" role="tab" aria-controls="nav-Connect" aria-selected="false">ارتباط</a>
<a class="nav-item nav-link" id="nav-Address-tab" data-toggle="tab" href="#nav-Address" role="tab" aria-controls="nav-Address" aria-selected="false">نشانی</a>
<a class="nav-item nav-link" id="nav-ActiveJob-tab" data-toggle="tab" href="#nav-ActiveJob" role="tab" aria-controls="nav-ActiveJob" aria-selected="false">فعالیت شغلی</a>
<a class="nav-item nav-link" id="nav-Upload-tab" data-toggle="tab" href="#nav-Upload" role="tab" aria-controls="nav-Upload" aria-selected="false">آپلود</a>
</div>
</nav>
<div class="tab-content" id="nav-tabContent">
<div class="tab-pane fade show active" id="nav-Info" role="tabpanel" aria-labelledby="nav-Info-tab">
<!------------------------------------------------------------------------------------------------------------------->
<div class="row justify-content-center">
<div class="col-md-6">
<div class="card border-0">
<div class="card-body">
<!------------------------------------------------------------------------------------------------------------------->
<div class="form-group row" ng-class="{'has-error' : Registers.S_Title.$touched && Registers.S_Title.$invalid}">
<label asp-for="sex.S_Title" class="col-md-4 col-form-label text-md-right"></label>
<div class="col-md-8">
@{
Tbl_Sex tblSex = new Tbl_Sex();
System.Collections.Generic.List<SelectListItem> sex = tblSex.Select().Select(s => new SelectListItem
{
Value = s.S_ID.ToString(),
Text = s.S_Title
}).ToList();
ViewData["sex"] = sex;
<select asp-for="sex" class="form-control" asp-items="@((List<SelectListItem>) ViewData["sex"])"></select>
@*<select name=”sex” id="Sex" class="form-control">
@foreach (var item in Model.Sexs)
{
<option value="@Html.DisplayFor(modelItem => item.Value)">@Html.DisplayFor(modelItem => item.Text) </option>
}
</select>*@
<span class=" text-danger" ng-show="Registers.S_Title.$touched && Registers.S_Title.$invalid">لطفاً جنسیت را انتخاب فرمائید</span>
}
</div>
</div>
<!------------------------------------------------------------------------------------------------------------------->
<div class="form-group row" ng-class="{'has-error' : Registers.R_Name.$touched && Registers.R_Name.$invalid}">
<label asp-for="RegisterSelect.R_Name" class="col-md-4 col-form-label text-md-right"></label>
<div class="col-md-8">
<input type="text" asp-for="RegisterSelect.R_Name" id="R_Name" class="form-control" onkeypress="return checkChar(event, 4);" name="R_Name" ng-model="RegisterSelect.R_Name" maxlength="50" ng-required="true" autofocus>
<span class=" text-danger" ng-show="Registers.R_Name.$touched && Registers.R_Name.$invalid">لطفاً نام را وارد فرمائید</span>
</div>
</div>
<!------------------------------------------------------------------------------------------------------------------->
<div class="form-group row" ng-class="{'has-error' : Registers.R_Last.$touched && Registers.R_Last.$invalid}">
<label asp-for="RegisterSelect.R_Last" class="col-md-4 col-form-label text-md-right"></label>
<div class="col-md-8">
<input type="text" asp-for="RegisterSelect.R_Last" id="R_Last" class="form-control" onkeypress="return checkChar(event, 4);" name="R_Last" ng-model="RegisterSelect.R_Last" maxlength="50" ng-required="true" autofocus>
<span class=" text-danger" ng-show="Registers.R_Last.$touched && Registers.R_Last.$invalid">لطفاً نام خانوادگی را وارد فرمائید</span>
</div>
</div>
<!------------------------------------------------------------------------------------------------------------------->
<div class="form-group row" ng-class="{'has-error' : Registers.R_Father.$touched && Registers.R_Father.$invalid}">
<label asp-for="RegisterSelect.R_Father" class="col-md-4 col-form-label text-md-right"></label>
<div class="col-md-8">
<input type="text" asp-for="RegisterSelect.R_Father" id="R_Father" class="form-control" onkeypress="return checkChar(event, 4);" name="R_Father" ng-model="RegisterSelect.R_Father" maxlength="50" ng-required="true" autofocus>
<span class=" text-danger" ng-show="Registers.R_Father.$touched && Registers.R_Father.$invalid">لطفاً نام پدر را وارد فرمائید</span>
</div>
</div>
<!------------------------------------------------------------------------------------------------------------------->
<div class="form-group row" ng-class="{'has-error' : Registers.C_Titles.$touched && Registers.C_Titles.$invalid}">
<label asp-for="Countries.C_Titles" class="col-md-4 col-form-label text-md-right"></label>
<div class="col-md-8">
@{
Tbl_Countries tblCountries = new Tbl_Countries();
System.Collections.Generic.List<SelectListItem> Country = tblCountries.List_Countries().Select(s => new SelectListItem
{
Value = s.C_ID.ToString(),
Text = s.C_Titles
}).ToList();
ViewData["Country"] = Country;
<select asp-for="Countries" dir="ltr" class="form-control" asp-items="@((List<SelectListItem>) ViewData["Country"])"></select>
@*<select name=”C_Titles” id="C_Titles" class="form-control" dir="ltr">
@foreach (var item in Model.cntry)
{
<option value="@Html.DisplayFor(modelItem => item.Value)" data-thumbnail="../flags/aland_islands.gif" >
@Html.DisplayFor(modelItem => item.Text) </option>
}
</select>*@
<span class=" text-danger" ng-show="Registers.C_Titles.$touched && Registers.C_Titles.$invalid">لطفاً کشور را انتخاب فرمائید</span>
}
</div>
</div>
<!------------------------------------------------------------------------------------------------------------------->
<div class="form-group row" ng-class="{'has-error' : Registers.R_National_Code_Or_Passports.$touched && Registers.R_National_Code_Or_Passports.$invalid}">
<label asp-for="RegisterSelect.R_National_Code_Or_Passports" class="col-md-4 col-form-label text-md-right"></label>
<div class="col-md-8">
<input type="text" asp-for="RegisterSelect.R_National_Code_Or_Passports" id="R_National_Code_Or_Passports" class="form-control" onkeypress="return checkChar(event, 1);" name="R_National_Code_Or_Passports" ng-model="RegisterSelect.R_National_Code_Or_Passports " maxlength="10" ng-required="true" autofocus>
<span class=" text-danger" ng-show="Registers.R_National_Code_Or_Passports.$touc hed && Registers.R_National_Code_Or_Passports.$invalid"> طفاً کد ملی را وارد فرمائید</span>
</div>
</div>
<!------------------------------------------------------------------------------------------------------------------->
</div>
</div>
</div>
</div>
</div>
<!------------------------------------------------------------------------------------------------------------------->
<div class="tab-pane fade" id="nav-Connect" role="tabpanel" aria-labelledby="nav-Connect-tab">
<!------------------------------------------------------------------------------------------------------------------->
</div>
<!------------------------------------------------------------------------------------------------------------------->
<div class="tab-pane fade" id="nav-Address" role="tabpanel" aria-labelledby="nav-Address-tab">
<!------------------------------------------------------------------------------------------------------------------->
</div>
<div class="tab-pane fade" id="nav-ActiveJob" role="tabpanel" aria-labelledby="nav-ActiveJob-tab">
</div>
<div class="tab-pane fade" id="nav-Upload" role="tabpanel" aria-labelledby="nav-Upload-tab">
<!------------------------------------------------------------------------------------------------------------------->
<div class="row justify-content-center">
<div class="col-md-6">
<div class="card border-0">
<div class="card-body">
<!------------------------------------------------------------------------------------------------------------------->
<div class="form-group row" ng-class="{'has-error' : Registers.S_Title.$touched && Registers.S_Title.$invalid}">
<input type="submit" name="Btn_OK" id="Btn_OK" value="ثبت" class="btn btn-success" @*ng-disabled="Login.$invalid"*@ />
</div>
<!------------------------------------------------------------------------------------------------------------------->
</div>
</div>
</div>
</div>
<!------------------------------------------------------------------------------------------------------------------->
</div>
</div>
</div>
</div>
</div>
</section>
</form>
@section scripts{
<script>
$(function () {
$('#Btn_OK').on('click', function (evt) {
evt.preventDefault();
$.post('', $('form').serialize(), function () {
$('#Result').html("ثبت با موفقعیت صورت گرفت");
});
});
});
</script>
}
مقدار دستور سمت سرور.
[HttpPost]
public void OnPost()
{
hlp.Error(1, 1, 1, this.RegisterSelect.R_Name);
}