2014-09-12 86 views
0

我不明白如何將這個selectListitem在控制器中傳遞,如何將它發送到視圖? With return view("MyView", listItems)?但它說listItems在當前的情況下不存在!你有想法嗎?謝謝DropDownList C#Mvc4 Razor

@{ 
    List<SelectListItem> listItems= new List<SelectListItem>(); 
    listItems.Add(new SelectListItem 
     { 
      Text = "Exemplo1", 
      Value = "Exemplo1" 
     }); 
    listItems.Add(new SelectListItem 
     { 
      Text = "Exemplo2", 
      Value = "Exemplo2", 
      Selected = true 
     }); 
    listItems.Add(new SelectListItem 
     { 
      Text = "Exemplo3", 
      Value = "Exemplo3" 
     }); 
} 

@Html.DropDownListFor(model => model.tipo, listItems, "-- Select Status --") 

我確切地說,我已經有一個模型在我看來的形式。我想用下拉列表填寫表單的一個字段。這就是爲什麼我想使用HtmlHelper DropDownListFor

+0

它添加到您的視圖袋。 – 2014-09-12 15:25:00

+0

您需要閱讀教程。你的知識顯然比你在這裏可以回答的還要多。 – 2014-09-12 15:47:38

+0

你說得對我的問題太大 – Julien698 2014-09-12 15:57:10

回答

1

您將要定義一個模型,並將該模型類傳遞到視圖中。溝ViewBag並使用強類型模型。

public class ViewModel 
{ 
    public int ddlSelectedValue {get; set;} 
    List<System.Web.Mvc.SelectListItem> DDLItems { get; set; } //Instantiate this through Constructor  
} 


ViewModel model = new ViewModel(); 

int val = 5; 
model.DDLItems.Add(new SelectListItem() { Text = "Text", Value = Val.ToString() }); 

return view (model) 

View 
@model NameSpace.ViewModel 


@Html.DropDownListFor(x => x.ddlSelectedValue, Model.DDLItems) 
+0

嗨,謝謝你的迴應,它的工作原理,但我已經在我的表格中看到了我的表格。 – Julien698 2014-09-12 15:55:40

+1

@Julien,現在已經開展了基礎工作,只需對您的模型進行必要的更改即可納入此邏輯。 – CSharper 2014-09-12 15:57:00

+0

是的,我同意你的邏輯。我打算這麼做! – Julien698 2014-09-12 16:01:10

0

何去何從視圖 @ {

List<User> listaUsers = (List<User>)ViewBag.ListUser; 

}

   foreach (User us in listaUsers) 
       { 

         <option value="@us.UserID">@us.Name</option> 

       } 

     </select> 


    /// Name function its like name of view for binding this part go to the controller 
    public ActionResult anytingName() 
    { 
     User us= new User(); 
     us.Name="paul"; 
     us.UserID=1; 
     List<User> users= new List<User>(); 
     users.Add(us); 
     ViewBag.ListUser = users; 
     return View(); 
    }