我需要定义schema吗?如果需要,应该是什么样子的?我搜索这个似乎只找到js解决方案,我正在寻找在editortemplate中定义它的语法。
共享/编辑器模板:
@(
Html.Kendo().DropDownList()
.Name("SearchFunction")
.DataTextField("SearchFunctionDesc")
.DataValueField("SearchFunctionCode")
.DataSource(source =>
{
source.Read(read => {
read.Action("GetSearchFunctions", "User");
});
})
.OptionLabel("--Select a Search Function--")
.AutoBind(false)
)
在控制器中:
public JsonResult GetSearchFunctions([DataSourceRequest] DataSourceRequest request)
{
var searchFuncs = AdminService.GetSearchFunctions();
DataSourceResult result = searchFuncs.ToDataSourceResult(request);
return Json(result, JsonRequestBehavior.AllowGet);
}
然后是我的Dapper数据库查询:
var result = new List<SearchFunction>();
using (var conn = new OracleConnection(DatabaseConnectionString))
{
conn.Open();
string query = "select FUNCTION_ID, SEARCH_FUNCTION_CD, " +
"SEARCH_FUNCTION_DESC, IS_ACTIVE " +
"from TBL_SEARCH_FUNCTIONS ";
result = conn.Query(query)
.Select(s => new SearchFunction
{
FunctionId = (int)s.FUNCTION_ID,
SearchFunctionCode = s.SEARCH_FUNCTION_CD,
SearchFunctionDesc = s.SEARCH_FUNCTION_DESC,
Active = s.IS_ACTIVE
}).ToList<SearchFunction>();
conn.Close();
return result;
}
3条答案
按热度按时间mf98qq941#
像这样重写你的控制器方法:
这应该可以简化该方法,因为您不需要DataSourceRequest(如注解中提到的@CSharper)。Kendo DropDownLists与网格不同,不需要DataSourceRequest类。这样,如果需要,您可以从jQuery AJAX 方法调用相同的JsonResult。
ltqd579y2#
你需要从json返回一个纯集合,看起来像这样
bt1cpqcv3#
如果你使用ModelView和lambda,那么你也可以尝试下面的代码:
假设您有一个城市下拉列表,用于从引用表(填充到CityViewModel)中检索数据: