在Webmatrix中获取数据库插入/更新的@html.dropdownlist ID值

时间:2012-09-27 10:28:11

标签: database razor webmatrix html-select

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

很遗憾,数据无法更新

1 个答案:

答案 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);
}