C#mvc从类属性get中获取dropdownlist并使用defualt值进行设置

时间:2017-04-12 19:25:15

标签: c# asp.net-mvc asp.net-mvc-5 dropdown

我正在使用MVC,这是我的新东西。我有以下内容,

我想从类属性get和set填充下拉列表,我有此属性的默认值

  

MaximumNumberOfRooms

这个属性我想用下拉列表填充它。

 SessionHelper mysession = new SessionHelper(); //this line calling defualt values  

 public  class SessionHelper
 {
    public SessionHelper()
    {
          MaximumNumberOfRooms = 4;

    }
     public int MaximumNumberOfRooms
    {
        get { return(int)(HttpContext.Current.Session["MaximumNumberOfRooms"]); }
        set { HttpContext.Current.Session["MaximumNumberOfRooms"] = value; }
    }


 }



          <p>Rooms</p>                            
          <select class="dropdown">
                 <option value="">1</option>
                 <option value="">2</option>
                 <option value="">3</option>
                 <option value="">4</option>
          </select>
&#13;
&#13;
&#13;

这是我的控制器

public ActionResult Index( )
    {
        var model = new SessionHelper();


        return View();

    }

3 个答案:

答案 0 :(得分:1)

更改控制器以返回模型:

public ActionResult Index( )
{
    var model = new SessionHelper();


    return View(model);

}

在视图中,迭代最大房间数并设置所选房间:

<p>Rooms</p>                            
<select class="dropdown">
    @for (var i = 1; i <= 4; i++) {
         <option value="@i" @(i == Model.MaximumNumberOfRooms ? "selected" : "")>@i</option>
    }
</select>

答案 1 :(得分:0)

首先,您需要将模型传递给视图:

public ActionResult Index( )
{
    var model = new SessionHelper();
    return View(model);
}

在视图中,如果未定义,则应定义模型类型:

@model SessionHelper

并遍历多个房间:

房间

<select class="dropdown">
    @for(int i = 1; i <= Model.MaximumNumberOfRooms; i++)
    {
        <option value="@i">@i</option>
    }
</select>

答案 2 :(得分:0)

首先,如果您想在视图中使用该模型,则需要将其发送到视图:

return View(model);

当然,在视图的顶部添加相应的模型声明:

@model SessionHelper

现在您可以在视图中使用该模型,您可以使用它。在这种情况下,我想你会从1循环到模型值以输出你的标记。类似的东西:

<select class="dropdown">
@for(var i = 1; i <= Model.MaximumNumberOfRooms; i++) {
     <option value="">@i</option>
}
</select>