我正在使用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;
这是我的控制器
public ActionResult Index( )
{
var model = new SessionHelper();
return View();
}
答案 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>