初投稿!したがって、私は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>
どんな助けでも大歓迎です!前もって感謝します!