在C#/.NET中,我可以做些什么来返回到前面的视图?
我是C#和.NETMVC框架的新手,我有以下问题 我有一个第一个jquerymobile视图,其中显示了一个navbar,其中包含一些选项卡。我在其中一个选项卡中放入了一个列表视图,其中显示了由模型表示的DataModel.Vulnerability.Fix对象集合的元素。在列表的每个元素的右侧,我都放置了一个按钮/链接,用于删除列表中生成此行的相关Fix对象 这项工作很好,我得到了以下结果(我发布了一个截图): 这是上一个选项卡(显示修复列表的选项卡)的代码: 此方法显示另一个视图,即DeleteFix.cshtml文件,该文件显示一个确认窗口,要求用户确认删除操作,如果返回到上一页,则代码如下:在C#/.NET中,我可以做些什么来返回到前面的视图?,c#,jquery,asp.net,.net,asp.net-mvc,C#,Jquery,Asp.net,.net,Asp.net Mvc,我是C#和.NETMVC框架的新手,我有以下问题 我有一个第一个jquerymobile视图,其中显示了一个navbar,其中包含一些选项卡。我在其中一个选项卡中放入了一个列表视图,其中显示了由模型表示的DataModel.Vulnerability.Fix对象集合的元素。在列表的每个元素的右侧,我都放置了一个按钮/链接,用于删除列表中生成此行的相关Fix对象 这项工作很好,我得到了以下结果(我发布了一个截图): 这是上一个选项卡(显示修复列表的选项卡)的代码: 此方法显示另一个视图,即Del
@model DataModel.Vulnerability.Fix
@{
ViewBag.Title = "DeleteFix";
Layout = "~/Views/Shared/MasterPageMobile.cshtml";
}
<h1>Delete Fix</h1>
<h2>Fix: @Model.Title (id: @Model.Id)</h2>
<p>
Confermare la cancellazione del fix "@Model.FixName" ?
</p>
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<input type="hidden" name="id" value ="@Model.Id" />
<div data-role="controlgrup" data-type="horizontal" data-mini="true">
<a href="@Url.Action("Index", "Editing", new { id = Model.Id })" data-inline="true" data-mini="true" data-role="button" >Torna alla lista</a>
<a href="@Url.Action("Details", "Groups", new { id = Model.Id })" data-mini="true" data-inline="true" data-role="button" >Annulla</a>
<input type="submit" value="Delete" data-mini="true" data-inline="true" />
</div>
}
@model-DataModel.Vulnerability.Fix
@{
ViewBag.Title=“DeleteFix”;
Layout=“~/Views/Shared/MasterPageMobile.cshtml”;
}
删除修复
修复:@Model.Title(id:@Model.id)
协商取消一项修正案“@Model.FixName”?
@使用(Html.BeginForm())
{
@Html.AntiForgeryToken()
}
我的问题是,如果用户点击Torna alla lista按钮,它必须被带到显示修复对象列表的初始视图,但我不能这样做
有人能帮我理解我错过了什么?我能做些什么来获得这个结果
Tnx基本上,我会在次视图中使用的viewmodels中添加一个新属性,以跟踪主url:
public string BackUrl { get; set; }
如果您希望此功能用于更多次视图,可以创建一个所有次视图模型都继承的基础视图模型
然后,在调用辅助视图时,只需初始化BackUrl属性:
<a href="@Url.Action("DeleteFix", "Editing", new { vulnId = Model.Id, currentFixId = item.Id, currentFixName = item.FixName, BackUrl = @request.RawUrl })">Delete</a>
您得到的错误是什么?您可以发布编辑控制器的索引操作代码以及呈现列表的视图吗?
public string BackUrl { get; set; }
<a href="@Url.Action("DeleteFix", "Editing", new { vulnId = Model.Id, currentFixId = item.Id, currentFixName = item.FixName, BackUrl = @request.RawUrl })">Delete</a>
public ActionResult DeleteFix(long vulnId, int currentFixId, string currentFixName)
{
if (ModelState.IsValid)
{
DataModel.Vulnerability.Fix model = new DataModel.Vulnerability.Fix();
manager.openConnection();
try
{
model.Id = currentFixId;
model.FixName = currentFixName;
}
finally
{
manager.closeConnection();
}
return Redirect(viewModel.BackUrl);
}
// Invalid viewstate, re-render the view
return View(model);
}