1

我已经使用 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)
}

不幸的是,数据没有得到更新

4

1 回答 1

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);
} 
于 2012-09-27T12:51:29.340 回答