【发布时间】:2012-05-21 11:06:40
【问题描述】:
我们现在已经搜索了一天,但我们无法将数据从我们的视图传递到我们的控制器。事实上,我们希望用户从 Index() 视图的下拉列表中选择一个小时作为时间块的 StartTime。目前我们必须遵循代码。
我们在控制器中的操作
public ActionResult genBlocks(string StartTime, FormCollection collection)
{
int blocksPerDay = 4;
int strH, strM;
List<Block> blocks = new List<Block>();
for (int i = 0; i < blocksPerDay; i++)
{
if (i != 0)
{
strH = blocks[i-1].EndTime.Hour;
strM = blocks[i-1].EndTime.Minute;
}
else
{
strH = Convert.ToInt32(collection["StartTime"]);
strM = 0;
}
Block block = new Block
{
FieldDayId = 1,
Available = true,
StartTime = DateTime.Today + new TimeSpan(strH, strM, 0),
EndTime = DateTime.Today + new TimeSpan(strH, strM + (db.Sports.Find(1).Duration*(i+1)), 0),
};
blocks.Add(block);
db.Blocks.Add(block);
db.SaveChanges();
}
return RedirectToAction("Index");
}
在我们的视图中我实现了一个表单
@using (Html.BeginForm("genBlocks"))
{
<input type="text"name="StartTime" />
@Html.DropDownList("StartTime", String.Empty)
<div id="genBlocks" class="button">
<input type="submit" />
</div>
}
所以我们使用 dorpdownlist 和文本框进行了尝试,但都没有成功...
【问题讨论】:
-
您能否将其转换为 mycode/C# 而不是 ASP.NET?
-
看我的 DDL 教程 [1]:asp.net/mvc/tutorials/javascript/… [2]:blogs.msdn.com/b/rickandy/archive/2012/01/09/…
标签: c# asp.net-mvc asp.net-mvc-3 view controller