У меня есть окно кендо, которое я хочу заполнить в зависимости от выбора, сделанного в выпадающем списке. Я попытался обновить окно при открытии, но я can't figure out how to make that work. Меняя механизмы, мне интересно, могу ли я вместо этого отправить параметр переменной в контроллер в самом объявлении окна, а затем сделать простое window.refresh (вместо того, чтобы кодировать обновление, чтобы попасть на определенный контроллер, который не работает).Kendo Window - LoadDataFrom находит значение аргумента inline?
Я имею в виду что-то вроде этого:
@(Html.Kendo().Window()
.Name("EditWindow")
.Title("Edit Contact")
.LoadContentFrom("_ContactEdit", "Contacts", new { selectedContact = $("#ContactId").data("kendoComboBox").value() })
.Content("Loading...")
.Visible(false)
.Draggable()
.Resizable()
.Width(400)
.Modal(true)
.Actions(actions => actions.Pin().Minimize().Maximize().Close())
)
Или это:
@(Html.Kendo().Window()
.Name("EditWindow")
.Title("Edit Contact")
.LoadContentFrom("_ContactEdit", "Contacts", new { selectedContact = getContact() })
.Content("Loading...")
.Visible(false)
.Draggable()
.Resizable()
.Width(400)
.Modal(true)
.Actions(actions => actions.Pin().Minimize().Maximize().Close())
)
Очевидно ни один из них не работает, но мне интересно, если есть другой способ, чтобы заполнить в этой области?
Спасибо!
Редактировать: Добавление соответствующего кода из контроллера и окна/частичного просмотра. Мой контроллер теперь ударяется, но мое окно не вытягивает правильные данные. Есть идеи?
Окно:
@model [taking out company info].Contact
@using Kendo.Mvc.Extensions
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<fieldset id="infoForm">Hello, world.
@Html.HiddenFor(model => model.ContactId, new { id = "EditWindowId" })
<br />
<label id ="ContactNameID" style="width: 130px;">Contact Name</label>
<span>
@Html.TextBoxFor(model => model.FullName, new { type = "text", id = "EditWindowName", @class = "k-textbox form-control", style = "width: 200px; cursor:default" })
</span><br />
</fieldset>
}
Контроллер:
[HttpGet]
public ActionResult _ContactEdit(int selectedContact)
{
var entities = from r in dbContext.Contacts
where r.ContactId == selectedContact
select r;
if (entities.Any())
{ return PartialView(entities.First()); }
else
{ return HttpNotFound("Contact does not exist."); }
}
Спасибо, это на самом деле поражает мой контроллер, который является улучшением! Тем не менее, мое окно (в частичном представлении) по-прежнему не обновляется, хотя мой контроллер попадает с правильным (новым) идентификатором контакта. У вас есть идеи, почему это может быть? Я обновляю родительский элемент с частичным кодом просмотра. – okapishomapi
Hm. Это действие контроллера возвращает чистый HTML? Если вы наблюдаете ответ этого звонка, что он содержит? –