i have inserted a new item at server side. I need to refresh the dropdownlist and select the latest item.
i tried read, refresh & sync but it failed. Please help.
@(Html.Kendo().DropDownList()
.Name("Job.ITransfereeId")
.HtmlAttributes(new { style = "width:100%" })
.DataTextField("Name")
.DataValueField("Id")
.OptionLabel(" ")
.FooterTemplateId("AddDataTemplate")
.Template("<
span
class=\"k-state-default\">#: Name #<
p
>#: Company # <
br
/>#: Email #<
br
/>#: UMobileDialingCode # #: UMobile #</
p
></
span
>")
.Filter(FilterType.Contains)
.DataSource(dataSource => dataSource
.Ajax()
.Read(r => r.Url("/DSContactDropDown/GetTransferee").Data("forgeryToken"))
.Events(e => e.Error("onError").RequestEnd("onRequestEnd"))
)
.Events(e => e.Change("TransfereeOnChange"))
.Value(Model.Job == null ? "0" : Model.Job.ITransfereeId == null ? "0" : Model.Job.ITransfereeId.ToString())
)
$.ajax({
type:
'POST'
,
url:
'/User/SaveUser'
,
beforeSend:
function
(xhr) {
xhr.setRequestHeader(
"XSRF-TOKEN"
,
$(
'input:hidden[name="__RequestVerificationToken"]'
).val());
},
datatype:
"html"
,
data: $(
'#AddUserForm'
).serialize(),
success:
function
(result) {
var
target = $(
'.storedDropdownID'
).val();
var
dropdownlist = $(
"#"
+ target).data(
"kendoDropDownList"
);
//var dropdownlist = $("#" + target).getKendoDropDownList();
//Rebind the Contact
dropdownlist.dataSource.read();
dropdownlist.refresh();
dropdownlist.dataSource.sync();
//select the new contact
var
value = result.userid;
dropdownlist.value(value);
//console.log("value " + value);
//Close Modal
$(
'#AddNewUserModal'
).modal(
'hide'
);
},
error:
function
(result) {
console.log(
"error"
);
}
});