У меня есть представление, которое содержит таблицу элементов. В каждой строке таблицы у вас есть возможность нажать на ссылку, чтобы отредактировать элемент, который приведет вас на другую страницу. Я пытаюсь сделать так, чтобы после того, как вы закончили редактирование элемента и сохранили свои изменения, он вернул вас к исходному виду, но в том же месте.
Так, например, если у вас было 300 строк в этой таблице, и вы работали со строкой 247. Я нажимаю «Правка», делаю некоторые изменения, и когда я сохраняюсь, я хочу вернуться к строке 247. Вместо этого я м вернул в начало страницы после сохранения. Я видел кое-что для jquery, но разве нет чего-то простого, что можно сделать в бритве с тегами привязки?
Мой код выглядит так:
View
Index.cshtml
...
...
...
<table>
<tr>
<th>
@Html.DisplayNameFor(model => model.AID)
</th>
<th>
@Html.DisplayNameFor(model => model.Comment)
</th>
<th></th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.AID)
</td>
<td>
@Html.DisplayFor(modelItem => item.Comment)
</td>
<td colspan="5" align="right">
<button type="button" class="btn btn-primary" onclick="location.href='@Url.Action("Edit", new {id = item.AID })'">Action Event</button>
</td>
</tr>
}
</table>
Контроллер
DatabaseController.cs
public ActionResult Index()
{
return View(db.ActionableEvents.ToList());
}
public ActionResult Edit(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
ActionableEvents actionableEvents = db.ActionableEvents.Find(id);
if (actionableEvents == null)
{
return HttpNotFound();
}
return View(actionableEvents);
}
[HttpPost]
public ActionResult Edit([Bind(Include = "AID,Comment")] ActionableEvents actionableEvents)
{
if (ModelState.IsValid)
{
db.Entry(actionableEvents).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(actionableEvents);
}
В идеале было бы неплохо в моем HttpPost для Edit сделать что-то вроде:
return RedirectToAction("Index",idtag);
где idtag может быть значением маршрута, которое загружает страницу в определенный тег привязки. Что-то с эффектом "https://www.mywebsite.com/Home/Index#247".
Вопрос в том, как я могу добавить значение model.AID к тегу привязки (или, может быть, просто сделать что-то в моем теге) в цикле for, а затем сослаться на это в контроллере?