我正在尝试将数据库中的值绑定到View中的下拉列表。
我要求我需要在视图的下拉列表中显示数据库值。我试图将电子邮件ID绑定到数据库表的下拉列表。
在这里,我需要将电子邮件ID添加到下拉列表中。这是我的模特,
Properties props = new Properties();
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
// props.put("mail.smtp.host", "smtp.gmail.com");smtp.office365.com
props.put("mail.smtp.host", "smtp.office365.com");
props.put("mail.smtp.port", "587"); //change this port
这是我的控制器,
<?Php
class adminQuery{
public function insertquery($con , $query){
try {
$con->query($query);
throw new Exception($con->error); // Here you're throwing the exception manually
} catch (Exception $e) {
echo $e;
}
}
}
这是我的观点,
public class UserDetails
{
public List<SelectListItem> Userdetails { get; set; }
public string Email { get; set; }
}
视图将加载下拉列表和数据库中的值。但遗憾的是,我无法将值添加到下拉列表中。我不知道我在哪里做错了。任何人都可以帮我这个..
答案 0 :(得分:1)
当其他用户对您的评论进行评论时,可能会出现问题,CategoryID
CategoryName
和query
但是,我通常更喜欢将下拉列表绑定到List<SelectListItem>
而不是将其绑定到SelectList
,因为它可以更轻松地创建强类型查询。
我会在控制器上更改这些行:
var query = db.tblEmployees.Select(c => new { c.Email });
ViewBag.Categories = new SelectList(query.AsEnumerable(), "CategoryID", "CategoryName");
要:
List<SelectListItem> query = db.tblEmployees.Select(c => new SelectListItem { Text = c.Email, Value = c.CategoryId }).toList();
ViewBag.Categories = query;
然后,在视图中。你应该改变
@Html.DropDownList("CategoryID", (SelectList)ViewBag.Categories, "--Select One--")
要:
@Html.DropDownList("CategoryID", (List<SelectListItem>)ViewBag.Categories, "--Select One--")