プロパティから判断するEM_RegTitle
と、使用しているモデルは何らかの方法でデータベースから自動生成されていると思います。多分エンティティフレームワーク?この場合、ORM/Entity Framework エンティティと同じ名前空間に部分クラスを作成し、追加のプロパティを追加できるはずです。何かのようなもの:
public partial class MyModel
{
public SelectList MyConstantValues { get; set; }
}
SelectList
その後、モデルの残りの部分で を渡すことができます。
通常、MVC アプリのすべてのレイヤーで ORM/EF エンティティを使用するとハングアップします。オンラインのコード例では簡単に見えますが、独自のビュー モデル クラスを作成し、AutoMapper などを使用してこれらのビューを埋めることをお勧めします。このようにして、ビューが必要とするデータのみを渡し、ユーザーに表示または変更させたくない他の機密情報を含む可能性のある DB 行を渡すことを回避します。
また、静的な値の選択リストを生成するロジックをドメイン モデルまたはサービス クラスに移動して、コードの量を減らし、コントローラー内の煩雑さを維持することもできます。
これが何らかの形で役立つことを願っています!
例...
ビューモデル(これを「モデル」ディレクトリに入れます):
public class MyViewModel
{
public SelectList RegTitleSelectList { get; set; }
public int RegTitle { get; set; }
}
あなたのコントローラー(「コントローラー」ディレクトリに入ります):
public class SimpleController : Controller
{
MyViewModel model = new MyViewModel();
model.RegTitle = myEfModelLoadedFromTheDb.EM_RegTitle;
model.RegTitleSelectList = // Code goes here to populate the select list.
return View(model);
}
エディターでクラス名を右クリックし、SimpleController
[ビューの追加...] を選択します。
新しいビューを作成し、強く型付けされたものにチェックマークを付けMyViewModel
て、モデル クラスとしてクラスを選択します。
ビューを編集して、以前のコードで行っていたことと同様のことを行います。@model
ビューの上部に線があるはずです。これは、ビューが厳密に型指定されたビューであり、MyViewModel
モデルを使用していることを示しています。
行き詰まった場合は、MVC と厳密に型指定されたビューの基本を理解するためのオンラインの例がたくさんあります。