【发布时间】:2015-06-20 08:40:48
【问题描述】:
我在View 上有一个Kendo DropDownList,我想将其DataTextField 值传递给Controller,然后将它们传递到另一个View 的标签上。虽然我可以将DataValueField 值传递给Controller,但我不能传递DataTextField 值。我试图应用不同的场景,但我做不到。任何想法?另一方面,如果不可能,是否应该在Controller 上再次填充DataTextField 值并返回到另一个View?
查看:
@model IssueViewModel
...
@Html.LabelFor(m => m.ProjectID)
@(Html.Kendo().DropDownList()
.Name("ProjectID")
.DataTextField("ProjectName")
.DataValueField("ProjectId")
.DataSource(source =>
{
source.Read(read =>
{
read.Action("GetProjects", "Issue");
});
})
)
控制器:
public JsonResult GetProjects()
{
var projects = repository.Projects;
return Json(projects.Select(m => new { ProjectId = m.ID, ProjectName = m.Description }), JsonRequestBehavior.AllowGet);
}
/* I want to pass the DataTextField values to this
method and return them to the CreateManagement view */
public ActionResult Create(IssueViewModel issueViewModel)
{
return RedirectToAction("CreateManagement", issueViewModel);
}
【问题讨论】:
-
@AmirHosseinMehrvarzi Selam Hossein。请问有什么回复吗?
-
如果您在控制器上使用
DataTextFields 而不是DataValueFields,那么为什么不像DataValueFields 那样枚举DataTextFields? -
A
<select>只回发一个元素,所以您要发布选定的项目ID或Description属性吗? -
那么您需要发布
ID属性(就像您现在所做的那样)。如果 POST 方法中还需要Description,则需要再次调用数据库。 -
不确定我是否完全理解,但您可以使用 ajax 上传文件 - refer this answer
标签: asp.net-mvc kendo-ui kendo-asp.net-mvc html.dropdownlistfor kendo-dropdown