【发布时间】:2015-10-22 15:49:50
【问题描述】:
我有一个如下所示的 EditorFor 模板,
@{
Layout = null;
@Html.EditorFor(model => model.Name)
@Html.EditorFor(model => model.Value)
}
用于键/值对列表。这是模型。
public List<NameValuePair> Parameters { get; set; }
这会生成一个可编辑框的列表。我需要删除一个特定的元素(所以当页面刷新时,整个“行”都消失了)。我无法找到该元素的索引以传递给我的控制器中的删除函数。有没有一种简单的方法可以在 EditorFor 模板中找到特定索引?
更新--
这就是视图中的代码的样子。其中显示参数列表。
@Html.LabelFor(model => model.Parameters)
@Html.EditorFor(model => model.Parameters)
<input type="submit" name="command" value="addParam" class="btn btn-default btn-primary" />
这就是我试图在控制器中使用的删除方法的样子。
public ActionResult DeleteParamaters(long id, int index)
{
var templateStep = Biz.GetTemplateStep(id);
templateStep.Parameters.RemoveAt(index);
return View("CreateTemplateStep", templateStep);
}
我的最终目标是每个列表项旁边的删除按钮,点击后将从列表中删除该特定项。
【问题讨论】:
-
你想过用javascript来做吗?
-
我并不反对。但是我的JS技能并不是最好的。我会稍微研究一下。
-
通常您会希望使用唯一 ID 而不是索引来处理此类事情。您不能将 ID 值与您的每个模型相关联吗?
-
您不需要索引(如果使用
EditorTemplate,则无法获取它)。显示您如何删除该项目。
标签: javascript c# html asp.net-mvc razor