0

我对View一个Kendo DropDownList,我想它的DataTextField值传递给Controller,然后他们通过在另一View标签。虽然我可以将DataValueField值传递给Controller,但我无法传递DataTextField值。我试图应用不同的场景,但我不能。任何想法?另一方面,如果不可能,DataTextField值是否应该再次填充到Controller并返回到其他View如何通过剑道DropDownList的DataTextField值控制器

查看:

@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); 
} 
+0

@AmirHosseinMehrvarzi Selam Hossein。有任何答复吗? –

+1

如果您在控制器上使用DataTextField而不是DataValueField,那么为什么不像DataValueFields那样枚举DataTextField呢? –

+0

@AmirHosseinMehrvarzi请你张贴一个示例代码吗?我真的尝试了很多方法,但我认为我犯了错误,不知道如何解决这个问题? –

回答

1

控制器改成这样:

public JsonResult GetProjects() 
{ 
    var projects = repository.Projects; 
    return Json(projects.Select(m => new SelectListItem { ProjectId = m.Description, ProjectName = m.Description }).ToList(), JsonRequestBehavior.AllowGet); 
} 

由于DropDownList使用DataTextField为用户,并使用DataValueField作为服务器通信,因此您必须使用DataTextField这两个值。 然后,您可以将其用于下一个操作。

编辑:如果您需要在控制器上的两个值,JsonResult方法更改为:

return Json(projects.Select(m => new SelectListItem { ProjectId = m.Description + "," + m.ID , ProjectName = m.Description }).ToList(), JsonRequestBehavior.AllowGet); 

现在,你可以通过吐涎他们同时使用在未来的操作,如:

var _both = value.split(',');//value: returned value from the view 
+0

感谢您的回答。但我想我还需要DataValueField来进行下一个操作,这样我就可以通过创建新记录的ID。那么,它是否也可以解决这个问题? –

+0

那么你需要两个值? –

+0

是的。实际上issueViewModel保留了DataValueField的值,但我不确定在应用所提出的更改后它是否仍然保留。我可以试试吗? –

相关问题