我爲我的妻子創建一個網站。她是一名老師,她希望有可能爲學生創造練習。此案是,她想創建例如下面的練習:ASP .NET MVC4添加新項目查看和模型綁定
練習1:使用正確的詞填入了一句:
- 我的妻子是30 ........ .....老
- 我活在這個城市的30 .........
我有以下型號:
public class Exercise
{
[Key]
public Guid Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public ExerciseType Type { get; set; }
public DifficulityLevel DifficulityLevel { get; set; }
public List<ExerciseItem> Items { get; set; }
public DateTime TimeOfCreation { get; set; }
public DateTime TimeOfModification { get; set; }
}
public class ExerciseItem
{
[Key]
public Guid Id { get; set; }
public string Content { get; set; }
public List<ExerciseItemOption> Options { get; set; }
public ExerciseItemOption CorrectSelection { get; set; }
}
我爲我的練習創建了視圖。我可以填寫基本屬性,如名稱,描述,Difficulity級別和類型。然後我想創建一個按鈕「添加練習項目」。單擊時,應該在可以提供新的ExerciseItem的地方動態添加局部視圖(或其他內容)。 我試着以下內容: 我添加了一個按鈕
@Ajax.ActionLink("Add exercise item",
"AddExerciseItem",
"Exercise", new AjaxOptions() { HttpMethod="GET", InsertionMode = InsertionMode.InsertBefore, UpdateTargetId="ExerciseItems"})
及相應的div:
<div id="ExerciseItems"></div>
我的操作方法如下所示:
public ActionResult AddExerciseItem()
{
return PartialView("ExerciseItem", new ExerciseItem());
}
和局部視圖:
@model ElangWeb.Models.ExerciseItem
<fieldset>
<legend>ExerciseItem</legend>
@Html.HiddenFor(model => model.Id)
<div class="editor-label">
@Html.DisplayNameFor(model => model.Content)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Content, new { style = "width:200px" })
</div>
</fieldset>
它工作正常。然而,當我點擊按鈕,創建一個整體運動,我沒有ExerciseItem收藏在我的模型:
public ActionResult Create(Exercise exercise)
{
using (PersistanceManager pm = new PersistanceManager())
{
exercise.Id = Guid.NewGuid();
exercise.TimeOfCreation = DateTime.Now;
exercise.TimeOfModification = DateTime.Now;
pm.ExcerciseRepository.Add(exercise);
}
return RedirectToAction("Index");
}
我應該如何更改代碼,以我的綁定添加ExerciseItem反對我的模型練習名單?
你爲什麼要用partial創建你的editorfor?這是因爲你有一個動態的練習數量? –
是的,沒錯,我想擁有一個動感健身項目 –