【发布时间】:2014-06-02 21:53:03
【问题描述】:
我使用下面的代码来显示表格行 对于每一行都有编辑和删除按钮,我想做的是 当我单击特定行的编辑时,将行从仅显示更改 到可编辑的行(而不是导航到其他页面进行编辑),我应该怎么做?
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.name)
</th>
<th>
@Html.DisplayNameFor(model => model.checkBox1)
</th>
<th></th>
</tr>
<tbody id="data-table">
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.name)
</td>
<td>
@Html.DisplayFor(modelItem => item.checkBox1)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id = item.Id }) |
@Html.ActionLink("Delete", "Delete", new { id = item.Id })
</td>
</tr>
}
</tbody>
这就是表格的样子
我尝试将代码更改为类似的内容,但出现以下错误:
<tbody id="data-table">
@for (var i = 0; i < Model.Count(); i++)
{
<tr>
if (Model[i].Id == ViewBag.SelectedID)
{
<td>
@Html.EditorFor(model=> model[i].name)
</td>
<td>
@Html.EditorFor(m=> m[i].checkBox1)
</td>
<td>
<button type="submit" name="submit" value="save">Save</button>
<button type="submit" name="submit" value="cancel">Cancel</button>
</td>
}
}
else
{
<td>
@Html.DisplayFor(m => m[i].name)
</td>
<td>
@Html.DisplayFor(m=> m[i].checkBox1)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id = Model[i].Id }) |
@Html.ActionLink("Delete", "Delete", new { id = Model.Id })
</td>
}
</tr>
}
错误在语句中:
@Html.EditorFor(m => m[i].name) and
@Html.EditorFor(m=> m[i]checkBox1)
尝试明确指定参数,知道吗?
【问题讨论】:
-
你有没有尝试过?使用 jQuery,您可以用输入替换所有文本,但您所要求的并不是一项简单的任务。
-
@cale_b- 这就是我打开此消息以获取一些可以提供帮助的示例的原因,因为我在网络上没有找到任何类似的示例...
标签: javascript jquery css asp.net asp.net-mvc