プロパティを読み取ることができません。それは私のPartialViewです:私は私をコントローラに投稿しようとすると剣道複数選択は '価値'
<script>
$("#btnSave").click(function (e) {
e.preventdefault();
$.ajax({
type: 'POST',
url: '@Url.Action("SignIT", "IT_Inventory")',
data: JSON.stringify({ productMultiSelect: $("#productMultiSelect").data("kendoMultiSelect").value(), id: $("#id").val(), SomeBooleanProperty: false }),
dataType: 'json',
contentType: 'application/json',
success: function (data) {
if (data == true) {
$("#onInsert").data("kendoWindow").close();
}
else {
alert("Error!");
}
},
error: function() {
alert("An error has occured!!!");
}
});
});
</script>
:
.......
<div class="form-group">
@Html.LabelFor(model => model.securities, htmlAttributes: new { @class = "control-label col-md-2"})
<div class="col-md-10">
@(Html.Kendo().MultiSelect()
.Name("productMultiSelect")
.DataTextField("label")
.DataValueField("value")Product to be used by the multiselect as a value.
.HtmlAttributes(new { style = "width:350px; height:350px", @id = "prd" })
.Filter(FilterType.Contains)
.DataSource(source =>
{
source.Read(read =>
{
read.Action("GetLogin", "IT_Inventory");
})
.ServerFiltering(false);
})
.Value(ViewBag.SelectedItem2)
.ItemTemplate("<span><h3 style=\"font-size: 1.2em;font-weight: normal;margin: 0 0 1px 0;padding: 0;\">#: data.label #</h3><p style=\"margin:0;padding:0;font-size: .8em; \">#: data.desC#</p></span>")
)
</div>
</div>
マイボタン:
<button type="button" id="btnSave" class="btn btn-success btn-lg">Save </button>
私のJS午前Uncaught TypeError: Cannot read property 'value' of undefined
を取得しています。 idとSomeBooleanPropertyはOKです。 私は送信フォームを使用すると大丈夫です。 productMultiSelectのコントローラリストにデータを投稿する必要がありますか?
js関数を '.ready()'にラップしてみてください。複数選択が初期化される前にそのリスナーが追加されることがあります –