2015-04-21 2 views
0

Я использую сетку кендо с режимом редактирования всплывающих окон и шаблоном редактора в mvc4. Шаблон состоит из выпадающего списка, который связан через базу данных. Проблема возникает, когда в операции редактирования все остальные данные извлекаются вместе со всеми элементами раскрывающегося списка и отображаются в соответствующих атрибутах html, таких как текстовое поле, флажок и т. Д., Но значение, которое я сохранил из выпадающего списка, не отображается автоматически.Извлеките все выпадающие значения из базы данных и покажите сохраненное значение как выбранное в раскрывающемся списке

Пример

Во время операции добавления я выбрал «Work» из выпадающего списка и сохранил его в базе данных. Во время редактирования я хочу, чтобы в раскрывающемся списке была выбрана функция «Работа».

[AcceptVerbs(HttpVerbs.Post)] 
public JsonResult Update([DataSourceRequest] DataSourceRequest request,Model object) 
{ 
    if (obj == null || !ModelState.IsValid) return null; 
     var obj = _Repo.FindBy(t => t.ID == object.ID); 
     obj.Text = object.Text; 
     obj.Type = object.Type; 
     obj.MasterTypeID_Fk = new Guid(object.Type); 
     obj.Notes = object.Notes; 
     obj.Primary = object.Primary; 
     obj.LastVerified = DateTime.Now.ToUniversalTime(); 
     obj.LastUpdated = DateTime.Now.ToUniversalTime(); 
     _Repo.Update(obj); 
     var result = new[] { object }.ToDataSourceResult(request, ModelState); 
     return Json(result); 
} 

//this is my code for ddl in editor template 

@(Html.Kendo().DropDownList() 
    .Name("Type") 
    .DataTextField("Value") 
    .DataValueField("TypeID") 
    .DataSource(source => 
    { 
     source.Read(read => { read.Action("GetTypes", "Dashboard"); }); 
    }) 
) 

// this is code in controller to bind ddl 

public ActionResult GetTypes() 
{ 
    List<TypeModel> Type = _Repo.GetTypes().ToList().ToMap<TypeBO, TypeModel>(); 
    Type.Insert(0, new TypeModel() { Value = "--Select--", TypeID = Guid.Empty }); 
    return Json(Type, JsonRequestBehavior.AllowGet); 
} 
+1

Покажите мне код, который будет помощь, чтобы выяснить проблему. – Justin

+0

Пожалуйста, ознакомьтесь с обновленным сообщением .. –

+0

также укажите коды сетки. Благодарю. – Mahib

ответ

0

Вы можете установить значение в помощнике Html с помощью Value("ValueData"):

@(Html.Kendo().DropDownList() 
    .Name("Type") 
    .DataTextField("Value") 
    .DataValueField("TypeID") 
    .DataSource(source => 
    { 
     source.Read(read => { read.Action("GetTypes", "Dashboard"); }); 
    }) 
    .Value("ValueData") 
) 

как в этом примере: http://demos.telerik.com/aspnet-mvc/dropdownlist/index

+0

Спасибо за ваш ответ .. но он не работает .. –

Смежные вопросы