Kendo ui 剑道网格和mvc编辑器模板
我有一个mvc编辑器模板(名为ExpenseTypeEdit),定义如下:Kendo ui 剑道网格和mvc编辑器模板,kendo-ui,kendo-grid,Kendo Ui,Kendo Grid,我有一个mvc编辑器模板(名为ExpenseTypeEdit),定义如下: @model ExpenseType @(Html.Kendo().DropDownListFor(et => et.ExpenseTypeId) .OptionLabel("--Please Select--") .DataTextField("Description") .DataValueField("ExpenseTypeId") .DataSource(datasource
@model ExpenseType
@(Html.Kendo().DropDownListFor(et => et.ExpenseTypeId)
.OptionLabel("--Please Select--")
.DataTextField("Description")
.DataValueField("ExpenseTypeId")
.DataSource(datasource => datasource
.Read("GetExpenseTypeList", "Lookup", new { area = "" })
)
.HtmlAttributes(new { width = "98%" })
)
@(Html.Kendo().Grid<ExpenseViewModel>()
.Name("ExpenseGrid")
.Editable(editable => editable.Mode(GridEditMode.InLine))
.Columns(columns =>
{
columns.Bound(e => e.ExpenseType)
.EditorTemplateName("ExpenseTypeEdit");
columns.Command(command =>
{
command.Custom("SaveExpense").Click("SaveExpense_click").Text("Save");
}
);
})
.DataSource(datasource => datasource.Ajax()
.ServerOperation(false)
.Model(model =>
{
model.Id(i => i.ExpenseId);
model.Field(f => f.ExpenseType)
.DefaultValue(new Solutions.Business.Entities.PrimitiveObjects.ExpenseType { ExpenseTypeId = 0, Description = "" });
})
)
)
function SaveExpense_click(e) {
var item = this.dataItem($(e.currentTarget).closest("tr"));
/*
Variable 'item' looks like like:
{
ExpenseType: {
ExpenseTypeId: 4,
Description: ""
}
}
*/
//debugger;
};
我有一个剑道网格,看起来像这样:
@model ExpenseType
@(Html.Kendo().DropDownListFor(et => et.ExpenseTypeId)
.OptionLabel("--Please Select--")
.DataTextField("Description")
.DataValueField("ExpenseTypeId")
.DataSource(datasource => datasource
.Read("GetExpenseTypeList", "Lookup", new { area = "" })
)
.HtmlAttributes(new { width = "98%" })
)
@(Html.Kendo().Grid<ExpenseViewModel>()
.Name("ExpenseGrid")
.Editable(editable => editable.Mode(GridEditMode.InLine))
.Columns(columns =>
{
columns.Bound(e => e.ExpenseType)
.EditorTemplateName("ExpenseTypeEdit");
columns.Command(command =>
{
command.Custom("SaveExpense").Click("SaveExpense_click").Text("Save");
}
);
})
.DataSource(datasource => datasource.Ajax()
.ServerOperation(false)
.Model(model =>
{
model.Id(i => i.ExpenseId);
model.Field(f => f.ExpenseType)
.DefaultValue(new Solutions.Business.Entities.PrimitiveObjects.ExpenseType { ExpenseTypeId = 0, Description = "" });
})
)
)
function SaveExpense_click(e) {
var item = this.dataItem($(e.currentTarget).closest("tr"));
/*
Variable 'item' looks like like:
{
ExpenseType: {
ExpenseTypeId: 4,
Description: ""
}
}
*/
//debugger;
};
ExpenseTypeId存在,但不存在描述。为什么项目没有从下拉列表中获取描述,我需要做什么才能将其传递进来 无法获取DDL服务器端的描述,只能获取值。您可以获取值,然后从数据库中检索文本,也可以使用组合框控件,然后可以同时获取值和文本 刚刚注意到你试图在客户端获得它,如果是这样的话
$(“#ExpenseTypeId”).text()
应该可以工作,根据您的示例item.text()
可能可以工作您的下拉列表是否包含说明?是否执行此操作$(“#ExpenseTypeId选项:选中”).text()代码>