2

我有一个带有组合框的部分视图。当尝试使用模态渲染部分视图(包含来自数据库的数据)时,它只显示值字段。我想显示该值字段的文本字段。请帮帮我。

@(Html.Kendo().ComboBoxFor(m => m.divCode)
    .DataTextField("Name")
    .DataValueField("ID")                                        
    .HtmlAttributes(new { style = "width:160px" })
    .SelectedIndex(0)
    .AutoBind(false)
    .Placeholder("Select Div Code")
    .Filter(FilterType.Contains)
    .DataSource(source =>
    {
        source.Read(read =>
        {
            read.Action("GetDivision", "AssetTransaction");
        });
    })
)
4

3 回答 3

1

我发现您的视图代码没有错误。它对我来说看起来不错。我认为您正在做与此示例相同的操作。

我怀疑你的价值分配给c.divisioncode, Name = c.divisionname. 只要确保您value and text从您的数据库服务调用中正确获取和设置,即可查看模型并正确分配。为此,您可以使用并查看“快速观看” while debugging the GetDivision "Action" in AssetTransaction "controller"

我发现的示例代码:

@(Html.Kendo().ComboBox()
          .Name("products")
          .DataTextField("ProductName")
          .DataValueField("ProductID")
          .HtmlAttributes(new { style = "width:250px" })
          .Filter("contains")
          .AutoBind(false)
          .MinLength(3)
          .DataSource(source => {
              source.Read(read =>
              {
                  read.Action("GetProducts", "Home");
              })
              .ServerFiltering(true);
          })
    )
于 2015-06-25T05:45:58.607 回答
1

由于我的模型具有代码属性,因此我遇到了类似的问题。

我变了

AutoBind(false) 

AutoBind(true). 

现在它显示文本而不是值

于 2017-01-20T20:36:09.323 回答
0

您可以将 AutoBind 设置为 false(您已经这样做了),然后使用 Text 属性定义将显示的文本:

@(Html.Kendo().ComboBoxFor(m => m.divCode)
.DataTextField("Name")
.DataValueField("ID")                                        
.HtmlAttributes(new { style = "width:160px" })
.SelectedIndex(0)
.AutoBind(false)
.Text(Model.YourTextFieldToDisplay)  // add this and modify to your needs
.Placeholder("Select Div Code")
.Filter(FilterType.Contains)
.DataSource(source =>
{
    source.Read(read =>
    {
        read.Action("GetDivision", "AssetTransaction");
    });
})
于 2017-10-12T22:08:51.380 回答