Я работаю с пользовательским интерфейсом Kendo в приложении MVC. У нас есть сетка, и когда пользователь открывает строку для редактирования, у нас есть dropDownList, который содержит названия компаний. Я пытаюсь получить DDL по умолчанию для названия компании, относящегося к строке.Kendo UI DropDownListFor Set SelectedValue
Вот код колонки:
columns.Bound(e => e.company_business_name).Width(220).Title("Company")
.EditorTemplateName("CompanyName");
и вот код editorTemplate:
@model string
@(Html.Kendo().DropDownListFor(m => m)
.DataTextField("Text")
.DataValueField("Value")
.BindTo((System.Collections.IEnumerable)ViewData["Companies"])
)
и метод, который заполняет DDL:
private void PopulateCompanies()
{
var companyList = new List<SelectListItem>();
if (!string.IsNullOrEmpty(Session["Companies"] as string))
{
companyList = (List<SelectListItem>)Session["Companies"];
}
else
{
companyList = new DataAccess().GetCompanies(CurrentSettings.getUser().userId);
CacheCompanies(companyList);
}
ViewData["Companies"] = companyList;
}
EDIT:
Обновлено код. DDL все еще заполняется, но я все еще не получаю выбранное значение, когда я нажимаю «редактировать» в строке сетки. Почувствуй, что я рядом, помоги!
Я хотел бы предложить, чтобы начать смотреть на демо пользовательский редакторе (http://demos.telerik.com/aspnet-mvc/grid/editing- custom) и демонстрационный столбец «Foreignkey» (http://demos.telerik.com/aspnet-mvc/grid/foreignkeycolumn). Обратите внимание, что для того, чтобы видеть * все *, что происходит, вам придется открыть демонстрационный проект, который установлен с Kendo MVC, поскольку онлайн-демонстрации MVC не показывают все интересующие файлы, в случае демонстрации редактора custome , он не показывает вам EditorTemplate, демонстрационный проект должен быть найден здесь: <Пользовательский интерфейс Telerik для папки установки MVC> \ wrappers \ aspnetmvc \ Примеры –
Что возвращает «GetCompanies»? Можете ли вы разместить образцы данных? – ataravati