我使用LINK to Objects方法和@html.dropdownlist Webmatrix帮助程序构建了一些下拉列表。这很好。
我想知道how to pass / store the selected value in my database table
。
在代码部分中构建项目列表
var titlesData = db.Query("SELECT TitleId, Name FROM Titles ORDER BY Name");
titlesListItems = titlesData.Select(i => new SelectListItem {
Value = i.TitleId.ToString(),
Text = i.Name,
Selected = i.TitleId == providerData.TitleId ? true : false
});
HTML标记部分:
@Html.DropDownList("titlesCombo","-- Veuillez sélectionner -- ",titlesListItems)
数据库更新命令(参见???):
db.Execute("UPDATE Providers SET TitleId=@0 WHERE ProviderId=@1",???,providerId)
我现在使用的方法是创建另一个变量:
var titleId = "";
if (!IsPost) {
titleId = providerData.TitleId.ToString(); //providerData stores the SQL query result
}
if (IsPost) {
var titleId = Request.Form[TitleID]
db.Execute("UPDATE Providers SET TitleId=@0 WHERE ProviderId=@1",titleId,providerId)
}
很遗憾,数据无法更新
答案 0 :(得分:2)
从我所看到的,你没有在你的代码中正确引用DropDownList助手。 请尝试使用以下代码:
var titleId = "";
if (!IsPost) {
titleId = providerData.TitleId.ToString();
}
if (IsPost) {
titleId = Request.Form["titlesCombo"];
db.Execute("UPDATE Providers SET TitleId=@0 WHERE ProviderId=@1",titleId,providerId);
}