使用Razor在视图中显示控制指定的次数

时间:2013-10-10 09:51:18

标签: asp.net-mvc asp.net-mvc-4 razor

我在会话变量中有成人和孩子

int x = (int)Session["adults"] + (int)Session["children"];

现在我想使用Razor Engine在我的视图中显示此内容

MR_ ----姓名 _ _ ----性别_ __ (一个乘客明细表)

条件: - 乘客详细信息行数应等于x

我应该如何进行我应该为乘客详细信息制作模型并生成强类型 剃刀查看或继续任何其他方式如果我做简单的Html控件如何获得他们的价值观 在我的控制器操作中使用Form Collection。如何在我的数据库中更新此信息 请提供任何链接,参考,提示。

1 个答案:

答案 0 :(得分:0)

你会在你的视图中做这样的事情

@for (int i = 0; i < ViewBag.PassengerCount; i++)
{
    <text>MR_</text>@Html.TextBoxFor(m => m[i].Name)<text>_</text>@Html.TextBoxFor(m => m[i].Gender)                    
}

你的控制器看起来像

public ActionResult PassengerList()
{
    ViewBag.PassengerCount = (int)Session["adults"] + (int)Session["children"];
    return View();
}

让你发布控制器接受列表

[HttpPost]
public ActionResult PassengerList(List<Passenger> passengers)
{
    //Code here
}

使用类似

的模型
public class Passenger() {
    public string Name { get; set; }
    public string Gender { get; set; }
}