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的值,但我不確定在應用所提出的更改後它是否仍然保留。我可以試試嗎? –

相關問題