Я пытаюсь создать одностраничную форму для создания «рабочего элемента».Одним из свойств является раскрывающийся список «Тип рабочего элемента».
В зависимости от типа рабочего элемента пользователю может потребоваться предоставить дополнительную информацию в сетке атрибутов стиля имя-значение-пара (таблица свойств).
Я хотел бы динамически отображать лист свойств, как только тип рабочего элемента выбран или изменен.Как только пользователь предоставит всю информацию, он щелкнет по кнопке «Отправить», чтобы создать «рабочий элемент».
Это то, что у меня есть:
@using (Ajax.BeginForm("AttributeData", new AjaxOptions() { UpdateTargetId="AttributeDataCell" }))
{
<div style="float:left">
@{
Html.RenderPartial("CreateWorkItemPartialView");
}
</div>
<div id="AttributeDataCell" style="float:right">
@Html.Action("AttributeData", new {id = 1})
</div>
}
Действие AttributeData в контроллере просто отображаетчастичное представление:
public ActionResult AttributeData(int id = 0)
{
var attributes = _workItemDataService.ListWorkItemTypeAttributes(id);
return PartialView("EditWorkItemAttributesPartialView", attributes);
}
Теперь я хотел бы подключить это к событию выбора в раскрывающемся списке, чтобы частичное представление повторно отображалось в ячейке таблицы выше при каждом изменении выбора.Я хотел бы передать выбранное значение в качестве идентификатора.
Один из способов заключается в том, чтобы заставить форму представить себя (и, следовательно, повторно выполнить рендеринг).
Если этоправильный подход, как мы можем это сделать?Esp., Как сделать только лист свойств для повторного рендеринга?
Если есть лучший способ достичь вышеуказанного, укажите.
Спасибо