0
我正在使用ASP.NET MVC,並且在我的視圖中有一個動態表,用戶可以添加和刪除行。從視圖獲取html表信息到控制器
<table class="table" id="tableClasses">
<tr>
<th>Class</th>
<!-- Icon to add a line. Done with javascript -->
<th><span class="table-add glyphicon glyphicon-plus"></span></th>
</tr>
@foreach (string sClass in tClasses)
{
<tr>
<td contenteditable="true">@sClass</td>
<td>
<span class="table-remove glyphicon glyphicon-remove"></span>
</td>
</tr>
}
<!-- This is our clonable table line -->
<tr class="hide">
<td contenteditable="true">New Class</td>
<td>
<!-- Icon to remove the line. Done with javascript -->
<span class="table-remove glyphicon glyphicon-remove"></span>
</td>
</tr>
</table>
我需要檢索並保存我的控制器中所有行的值,但我不知道該怎麼做。
因爲我不知道表格中會有多少行,我不能使用id對嗎?
如何訪問和循環控制器中的表格單元格?
編輯:
這裏是控制器的代碼:
public ActionResult Edit([Bind(Include = "PKAL,FKHC,SIATA,SICAO,SNAME,SETDEARLY,SETDLATE,SLASTMIN,SCLASSFASTLANE,SDCSINTERFACE")] AIRLINE aIRLINE)
{
if (ModelState.IsValid)
{
aIRLINE.SETDEARLY = aIRLINE.SETDEARLY.Replace(":", string.Empty);
aIRLINE.SETDLATE = aIRLINE.SETDLATE.Replace(":", string.Empty);
aIRLINE.SLASTMIN = aIRLINE.SLASTMIN.Replace(":", string.Empty);
FormCollection collection = new FormCollection();
collection.Get("classTemp");
db.Entry(aIRLINE).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.FKHC = new SelectList(db.HANDLER, "PKHC", "SHCODE", aIRLINE.FKHC);
return View(aIRLINE);
}
棘手的是,SCLASSFASTLANE在數據庫中存儲爲 「A,B,C,X」。
這就是爲什麼我使用自定義模板來顯示和修改它,並且我需要一個動態表(上面的代碼)。
你介意發佈你的控制器代碼嗎?另外,你將不得不在'
您看起來沒有表單,即使您做了,也不會生成任何表單控件,因此沒有任何內容可以發佈到控制器。您將需要使用javascript/jquery獲取值和ajax以將其發佈到您的控制器。你可以給''元素一個類名稱,或者只使用循環中的每個元素並獲得其第一個''元素。 –
我發佈了控制器代碼。 我嘗試使用圍繞
回答
好吧,我終於設法解決這個問題,這裏是我落得這樣做:
這裏查看(EditorTemplate)代碼(沒有太大變化):
我防止形式:
我通過javascript檢索從表中的值提交,提交類值,然後在控制,我重新排列這些值我希望他們的方式,並提交表單通過編輯的ActionResult:
它可能不是最漂亮的解決方案,但與我到目前爲止所獲得的知識以及我可以得到的一點幫助,現在它可以做得很好。
來源
2015-09-29 13:36:21 JuFra
相關問題