0

データベース内のテーブルからプログラミング言語を一覧表示するドロップダウン ボックス付きのビューを作成しようとしています。これには問題はありませんが、レベル 1 からレベル 10 までと呼ばれる 10 個のチェック ボックスも必要です。これらの 10 個のレベルは、データベース内の個別のテーブルに既にあり、それぞれに独自の ID などがあります。

私の問題は、言語を選択し、たとえばレベル 2 と 3 を選択して、言語とレベルの両方のテーブルの外部キーを持つ別の db テーブルに追加できるページを作成するにはどうすればよいですか? 最初は単純に聞こえるかもしれませんが、どのレベルがチェックされているかを確認して追加するコントローラーを作成する必要があります。複雑な部分は、言語ごとにスキルの範囲が異なり、すべてが 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 に答える