0

初投稿!したがって、私はasp.net mvc 4(3日)を初めて使用し、ベンチマークテストの結果を表示するテーブルを作成するように割り当てられました。3 つの SQL データ テーブルがあります: Benchmark (スクリプト ID とビルド ID の両方に外部キーがあります)、Build (ソフトウェアのバージョン、ID などを含むテーブル)、Script (作成日を含むいくつかのテスト スクリプトの名前など)

モデルを作成しました。Entity Framework を使用するすべてのテーブルのコントローラーとビュー。

ユーザーがドロップダウン メニューからビルド バージョンを選択し、すべてのスクリプト、ビルド バージョン、最後にいくつかのベンチマーク コンポーネント (平均時間、合格/不合格など) を表に入力するようにしたいと考えています。

Build.Version からのデータをドロップダウンリストに入力しました。

問題は、選択した値を DDL から取得する方法がわからないことです

モデルクラス (ベンチマーク)

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Web.WebPages.Html;

namespace BenchmarkApp.Models
{
   public partial class Benchmark
   {
       public int BenchmarkID { get; set; }
       public int ScriptID { get; set; }
       public int BuildID { get; set; }
       public int MinTime { get; set; }
       public int MeanTime { get; set; }
       public int MaxTime { get; set; }


       [ForeignKey("BuildID")]
       public virtual Build Build { get; set; }

       [ForeignKey("ScriptID")]
       public virtual Script Script { get; set; }
  }
}

Benchmark のコントローラ クラス、具体的には ActionResult Index()

public class BenchmarkController : Controller
{
    private DAContext db = new DAContext();

    //
    // GET: /Benchmark/

    public ActionResult Index(string buildNumber = "0")
    {
        var benchmarks = db.Benchmarks.Include(b => b.Build).Include(b => b.Script);

        var query = db.Builds.Select(c => new { c.Id, c.Version });
        ViewBag.Builds = new SelectList(query.AsEnumerable(), "Id", "Version");

        return View(benchmarks.ToList());
    }

最後に、ベンチマークのビュー (インデックス) です。私が試したさまざまな DDL の一部をコメントアウトしました。

<table border="1">
    <tr>
        <th>
            Build version:
        </th>
        <th>
            <%-- Html.DropDownList("Builds", null, new {@onchange = "onChange(this.value);" }) --%>
            <%-- Html.DropDownList("BuildID", (SelectList) ViewBag.Builds, "--Select One--") --%>
            <%: Html.DropDownList("BuildDD", (IEnumerable<SelectListItem>)ViewBag.Builds, "--Select One--")%>
        </th>
    </tr>
</table>

どんな助けでも大歓迎です!前もって感謝します!

4

1 に答える 1

0

次のコードを試してください:

  @var listData = (List<SelectListItem>)ViewBag.Builds;
  @Html.DropDownList("Builds", listData, new
                                {
                                    onchange = "OnChange(this);",
                                    oval = listData.Any(x => x.Selected) ?
                                    listData.Find(x => x.Selected).Value : listData[0].Value
                                })

そしてあなたのJavaScriptで:

function ChangeLanguage_OnChange(dropdownControl) {
    var selectValue = dropdownControl.options[dropdownControl.selectedIndex].value;
}

これがあなたを助けることを願っています!

于 2013-11-19T10:31:28.240 に答える