0

計算列を含むデータベース テーブルがあります。計算列は、2 つの名前 (名と姓) を 1 つの表示名にマージします。以下のコードでは、DisplayName という名前の計算列の値を指定します。どうすればいいですか?ありがとう!

参考までに、これは MVC Beta 4 です。

<div class="editor-label">
    @Html.LabelFor(model => model.PdId, "Pd")
</div>
<div class="editor-field">
    @Html.DropDownList("PdId", String.Empty)
    @Html.ValidationMessageFor(model => model.PdId)
</div>
4

3 に答える 3

1

ビュー モデルと厳密に型指定されたビューと DropDownListFor ヘルパーを使用します。コードが表示されないため、テストされていない疑似コードを次に示します。

public class MyViewModel
{
    public int PdId { get; set; }
    public IEnumerable<SelectListItem> Names { get; set; } 
}

コントローラーからビューモデルを作成する

public ActionResult VIewName(?)
{
    var people =  // query    
    var model = new MyViewModel
    {
       PdId = people.nameId,
       FullNames = people.Select(x => new SelectListItem
        {
             Value = x.nameId.ToString(),
             Text = x.FirstName + " " + x.LastName
        })
    };
    return View(model);
}

ビューでは、厳密に型指定された DropDownListFor ヘルパーを使用します

@model MyViewModel

@Html.DropDownListFor(
    x => x. PdId,
    Model. FullNames
)
于 2012-05-30T17:31:17.837 に答える
0
<div class="editor-label">
    @Html.LabelFor(model => model.PdId, "Pd")
</div>
<div class="editor-field">
    @Html.DropDownListFor(model => model.PdId, Model.DisplayName)
    @Html.ValidationMessageFor(model => model.PdId)
</div>
于 2012-05-30T17:03:20.383 に答える
0

列が実際のフィールドである限り、DISTINCT を使用して DDL で SELECT を実行するときにデータベースに接続するときにオプションにする必要があります。

それがエイリアス化された列であり、計算された列で参照されている場合は、C#側の選択ステートメントで計算された列を参照するだけです...

于 2012-05-30T17:03:45.817 に答える