0

目前,如果您选择选择值选项,它不会选择一个值。无论如何我可以在内联网格下拉列表中添加选择值吗?添加和编辑记录时

GridForeignKey.cshtml

@(
 Html.Kendo().DropDownList()
        .Name(ViewData.TemplateInfo.GetFullHtmlFieldName(""))
        .BindTo((SelectList)ViewData[ViewData.TemplateInfo.GetFullHtmlFieldName("") + "_Data"])
        .OptionLabel("Select value")
)

看法:

 columns.ForeignKey(p => p.SSID, (System.Collections.IEnumerable)ViewData["dataStatus"], "OptID", "OptName");

控制器:

 private void PopulateDataStatus()
        {
            ViewData["dataStatus"] = new HEntities().COpts
                       .Select(e => new COptModel
                       {

                           OptID = e.OptID,
                           OptName = e.OptName,
                           CTypeID = e.CTypeID

                       })
                       .Where(e => e.CTypeID == 99)
                       .OrderBy(e => e.OptName);
        }

那么我如何添加选择值文本,请指教?

4

2 回答 2

4

我现在已经重读了你的问题几次,我不确定我是否理解它。如果您询问如何选择默认值,那么您想使用SelectedIndex方法,其中参数是索引值(注意它是从零开始的)。例如,要将第二个选项设为默认值(因为它是从零开始的):

@(
Html.Kendo().DropDownList()
  .Name(ViewData.TemplateInfo.GetFullHtmlFieldName(""))
  .BindTo((SelectList)ViewData[ViewData.TemplateInfo.GetFullHtmlFieldName("") + "_Data"])
  .OptionLabel("Select value")
  .SelectedIndex(1)
)
于 2012-11-19T21:29:59.387 回答
1

OptionsLabel 总是有一个空值。

要更改此设置并设置值,您需要将其添加为第一项,并带有自己的文本(“请选择”)和传递给BindTo方法的集合的值(您喜欢的值)(并完全删除 OptionLabel)。

于 2012-11-15T23:57:08.773 回答