我有以下表單,我將項目添加到列表並更新結果表格。所以這裏是代碼我目前有:@ Ajax.ActionLink帖子表格字段
視圖(強類型):
@using (Ajax.BeginForm("AddService", "Manager",
new AjaxOptions { UpdateTargetId = "servicePartial",
HttpMethod = "Post",
LoadingElementId = "loading" }))
{
<input type="submit" value="Add New" />
<div class="widget-content table-container" id="servicePartial">
@Html.Partial("_Services", Model)
</div>
}
部分:
@model Project.Model.ServicesViewModel
<table id="demo-dtable-02" class="table table-striped">
<thead>
<tr>
<th>Service</th>
<th>Price</th>
<td class="action-col">Actions</td>
</tr>
</thead>
<tbody id="services">
@if (Model != null)
{
if (Model.Services != null)
{
if (Model.Services.Count > 0)
{
for (int i = 0; i < Model.Services.Count; i++)
{
<tr>
<th>@Model.Services[i].name</th>
<th>@Model.Services[i].price</th>
<td class="action-col">
@Html.HiddenFor(x=>x.Services[i].name)
@Html.HiddenFor(x=>x.Services[i].price)
@Html.HiddenFor(x=>x.Services[i].serviceId)
@Ajax.ActionLink(" X ", "Appointment", "Manager",
new{ model = Model,
id = @Model.Services[i].serviceId },
new AjaxOptions
{
UpdateTargetId = "servicePartial",
LoadingElementId = "loading",
HttpMethod="Post"
})
</td>
</tr>
}
}
}
}
</tbody>
</table>
視圖模型:
public class ServicesViewModel
{
public List<Service> Services { get; set; }
}
現在,通過Ajax.Beginform
的提交按鈕回覆作品,我可以回發模型並更新服務(添加一個)並返回。
我的問題是,我想能夠從列表中刪除一個服務。爲此,我認爲我會使用Ajax.Actionlink
,並使用ID回發。問題是它只返回id而不是模型。
現在看看它顯然不可能發送當前模型回到使用Ajax.Actionlink
的行動你將如何處理這個?
我以爲我會很聰明,並使用Ajax.Actionlink
的超負荷,並添加 new{ model = Model, id = @Model.Services[i].serviceId }
它,但它是一個不行。
ViewModel中有很多其他數據(對於我已經將它從上面的代碼中取出的空間),並且對於我通過上述過載逐個發送所有這些數據是非常不切實際的。
你打算如何刪除該項目?你可以發佈行動方法嗎? – Sharun 2013-04-08 04:51:07