我在我的MVC应用程序视图中使用Telerik的下拉列表。我面临两个问题:
1)当我运行我的应用程序时,我发现kendo下拉列表的每个值都是“Undefined”。 这是我的视图的代码:
@model IEnumerable<EulenMgrKendoUIMvcApplication.Dominio.Tablas.DelegacionProductoUsuario>
@(Html.Kendo().DropDownListFor(d=>d)
.Name("IdDelegacionProductoDrpDwn").HtmlAttributes(new { @style = "font-size:12px" })
.DataTextField("IdDelegacionProducto")
.DataValueField("IdDelegacionProducto")
**.BindTo((System.Collections.IEnumerable)ViewData["IdDelegacionProducto"]))**
这是我的控制器,我在其中填充下拉列表:
public class DelegacionProductoUsuarioController : Controller
public ViewResult List()
{
IEnumerable<DelegacionProductoUsuario> delegaciones = DelegacionProductoUsuario.GetAll();
**PopulateDelegacionProducto();**
return View(delegaciones);
}
private void PopulateDelegacionProducto()
{
List<Int64> IdDelegacionProductoList = new List<Int64>();
foreach( DelegacionProductoUsuario d in DelegacionProductoUsuario.GetAll()){
IdDelegacionProductoList.Add(d.IdDelegacionProducto);
}
ViewData["IdDelegacionProducto"] =IdDelegacionProductoList ;
}
}
>I am debugging the application and the controller is passing to the view the proper values,so I don't understand why it doesn't show them.
2)第二个问题:我将此下拉列表插入到剑道网格的一列中但没有成功。 在它的位置它似乎是一个共同的标签。这是我的Grid的代码,我在Bold中标记我尝试显示我的dropdownList的列:
@(Html.Kendo().Grid(Model)
.Name("Grid")
.Columns(columns=>
{
columns.Bound(d => d.BorradoLogico).Title("Borrado logico");
columns.Bound(d => d.FTick).Title("Ftick");
**columns.Bound(d => d.IdDelegacionProducto).Title("IdDelegacionProducto").EditorTemplateName("IdDelegacionProductoDrpDwn");**
columns.Bound(d => d.IdUsuario).Title("IdUsuario");
})
答案 0 :(得分:0)
'DelegacionProductoUsuario'课程怎么样?它有名为'IdDelegacionProducto'的属性吗?看起来您没有正确设置dataValueField。
关于第二个问题,你在哪里放置了EditorTemplate(它是在Shared / EditorTemplate中还是在EditorTemplates文件夹中?有关编辑器模板的更多信息可以找到here。
答案 1 :(得分:0)
亲爱的Petur:非常感谢您的回答。关于你的答案: 我的DelegacionProductoUsuario类有一个名为IdDelegacionProducto的属性。关于你的问题“我在哪里放置EditorTemplate”,我不明白你的意思,我把它放在列出我所有的DelegacionProductoUsuario的视图中。请继续帮助我。非常感谢Petur。