【发布时间】:2013-02-14 05:31:46
【问题描述】:
我有一个类似的模型
[Required]
public string Username { get; set; }
[Required]
public string Password { get; set; }
public IEnumerable<Connection> Connections { get; set; }
连接类是
public class Connection
{
public int ConnectionId { get; set; }
public string Name { get; set; }
}
我想从下拉列表中选择一个包含用户名和密码的数据库。
在我的控制器中,我创建了如下所示的连接列表
public ActionResult Create()
{
var databaseConnection = new DatabaseConnection();
databaseConnection.Connections = new List<Connection>
{
new Connection()
{
ConnectionId = 1,
Name = @"10.44.171.39\SQL2K8R2"
},
new Connection()
{
ConnectionId = 2,
Name = "TestDb"
}
};
return View(databaseConnection);
}
而对应的视图是
<div>
<span>Select Database</span>
<p>
<select name="Section">
<option value="" selected="selected">Select Section</option>
@foreach (var item in Model.Connections)
{
<option value="@item.ConnectionId">@item.Name</option>
}
</select>
</p>
</div>
当我发布表单时,我得到了用户名和密码,但没有得到
连接名称和 ID。
任何帮助将不胜感激 在此先感谢:)
【问题讨论】:
-
按照您的方式进行操作,您的选择将被命名为“ConnectionId”,并且名称不会出现,只有 ConnectionId 的值。即使在下面的解决方案中,您也需要在服务器端查找名称或将其存储到隐藏字段中。
标签: asp.net-mvc-3 c#-4.0 razor html.dropdownlistfor html-select