У меня есть два выпадающих списка.Первый раскрывающийся список заполняется ViewModel.Вторичный раскрывающийся список заполняется с помощью Ajax (каскадный раскрывающийся список).У меня это работает нормально, но после того, как я нажму кнопку и вернусь на ту же страницу, второй раскрывающийся список не будет выбран или возвращается к значению по умолчанию.ниже мой код, спасибо
@Html.DropDownListFor(model => model.PaymentCode, (List<SelectListItem>)ViewBag.country, new { @class = "form-control" })
@Html.DropDownListFor(model => model.AddNewThirdParty, (List<SelectListItem>)ViewBag.thirdPartyDDL, new { @class = "form-control" })
<input type="button" value="Add New" name="action:AddNewThirdParty" style="@displayButtonAddThirdParty" onclick="return addnewthirdparty();" />
$(document).ready(function () {
$("#PaymentCode").change(function () {
$("#AddNewThirdParty").empty();
$.ajax({
type: 'POST',
url: '@Url.Action("GetInsuranceCompany")',
dataType: 'json',
data: { code: $("#PaymentCode").val() },
success: function (states) {
$.each(states, function (i, state) {
$("#AddNewThirdParty").append('<option value="' + state.Value + '">' +
state.Text + '</option>');
});
},
error: function (ex) {
alert('Failed to retrieve states.' + ex);
}
});
return false;
})
});
контроллер
public ActionResult GetInsuranceCompany(string code, string filter)
{
string codeJP = string.Empty;
ParamJenisPembayaran paramJP = db.ParamJenisPembayarans.Where(x => x.Code == code).FirstOrDefault();
if (paramJP != null) codeJP = paramJP.Name;
var states1 = db.InsuranceCompany_CSFs.Where(x => x.JenisPembayaran == codeJP).ToList();
List<SelectListItem> listates = new List<SelectListItem>();
listates.Add(new SelectListItem { Text = "select_thrid_party", Value = " " });
if (states1 != null){
foreach (var x in states1){
listates.Add(new SelectListItem { Text = x.CompanyID + " - " + x.CompanyName, Value = x.CompanyID });
}
}
return Json(new SelectList(listates, "Value", "Text", JsonRequestBehavior.AllowGet));
}
public ActionResult AddNewContractNo(ParamBlacklistPembayaranViewModel model){
string[] arrContractNumber = string.IsNullOrEmpty(model.ContractNumber) ? null : model.ContractNumber.Split(new string[] { ";#" }, StringSplitOptions.RemoveEmptyEntries);
ViewBag.ContractNumberList = arrContractNumber;
return View("Create", model);
}