我對ASP.Net MVC相當新,所以原諒我的任何應該是顯而易見的。Asp.net MVC多個選擇列表屬性
我有一個對象,其中包含屬性是一個列表。我只是不知道該如何在創建中實現這一點。 這是對象:
public class TeamMember
{
public int TeamMemberId { get; set; }
public string FristName { get; set; }
public string LastName { get; set; }
public DateTime BirthDate { get; set; }
public string Biographie { get; set; }
public virtual Image Image { get; set; }
public virtual List<DanGrade> DanGrades { get; set; }
}
在創建視圖我希望能夠選擇多個Dangrades。
我試圖修改編輯模板它看起來像這樣:
@using BudoschoolTonNeuhaus.Models
@model BudoschoolTonNeuhaus.Models.TeamMember
@{
var db = new ApplicationDbContext();
var danGrades = db.DanGrades.ToList();
}
<select multiple name="@ViewData.TemplateInfo.HtmlFieldPrefix" class="dropdown">
@foreach (var dan in danGrades)
{
<option value="@">
@dan.DanGradeId: @dan.BudoSport, @dan.Grade
</option>
}
</select>
,但是這並沒有給,我認爲它會,它只是顯示在創建視圖多發dangrade標籤的結果是你可以在這裏看到:
@model BudoschoolTonNeuhaus.Models.TeamMember
@{
ViewBag.Title = "Create";
Layout = "~/Views/Shared/_Admin_Layout.cshtml";
}
<div class="wrapper">
<h2>Create</h2>
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
<h4>TeamMember</h4>
<hr />
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
@Html.LabelFor(model => model.FristName, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.FristName, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.FristName, "", new { @class = "text-danger" })
</div>
</div>
.... // controls for other properties of model
<div class="form-group">
@Html.LabelFor(model => model.DanGrades, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.DanGrades, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.DanGrades, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.Image, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
<input type="file" id="Image" name="Image" hidden />
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Create" class="btn btn-default" />
</div>
</div>
</div>
}
<div>
@Html.ActionLink("Back to List", "Index")
</div>
</div>
當前HTML輸出:
感謝您提前幫忙!
? 「多少dangrade標籤」是什麼意思? – Wndrr
另外,最佳做法是您不應該在視圖中進行任何數據庫調用。這應該是在控制器或在一個專門的類 – Wndrr
@Wndrr oke謝謝你的提示!:)我編輯帖子到當前輸出是什麼 – Diceble