0

我正在寻找一个带有下拉框的视图,其中列出了数据库中表中的编程语言。这我没有问题,但我还想要 10 个复选框,称为 1 级到 10 级。现在这 10 个级别已经在数据库中的一个单独的表中,每个都有自己的 id 等。

我的问题是,如何创建一个页面,让您选择一种语言,然后选择 2 级和 3 级,然后将它们添加到另一个带有外键的数据库表中语言和级别表?一开始我知道这听起来很简单,但我需要创建一个控制器来检查检查了哪些级别并添加它们。复杂的部分是每种语言都有不同的技能范围,并不是所有的从 1 开始到 10 结束。

以下是表格示例:

语言 ID 语言名称

级别 ID 级别名称

映射 ID LanguageID LevelID。

谢谢!

4

1 回答 1

0

您需要为每个实体创建模型。然后,在您的控制器中,将模型发送到视图,如下所示:

'
' GET: /MyController/MyAction

Public Function MyAction() As ActionResult
    Dim db = New LanguageDbContext
    ViewBag.Language = New SelectList(db.Languages, "LanguageId", "Name")

    Dim db1 = New LevelsDbContext
    ViewBag.level = New SelectList(db1.Levels, "LevelId", "Name")
    Return View()
End Function

然后,您需要从 POST 的视图中获取模型,如下所示:

'
' POST: /MyController/MyAction

<HttpPost()> _
Public Function MyAction(ByVal model As MyModel) As ActionResult
    If ModelState.IsValid Then
         ' update your database by accessing model like this
            Dim db As Languages = New LanguageDbContext
            Dim language As New Language
            language.Name = model.Name

            db.Languages.Add(language)
            db.SaveChanges()
     End if
 End Function

当然,在http://asp.net/mvc上阅读 mvc

于 2012-08-14T20:28:39.560 回答