Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C#/.NET中,我可以做些什么来返回到前面的视图?_C#_Jquery_Asp.net_.net_Asp.net Mvc - Fatal编程技术网

在C#/.NET中,我可以做些什么来返回到前面的视图?

在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

我是C#和.NETMVC框架的新手,我有以下问题

我有一个第一个jquerymobile视图,其中显示了一个navbar,其中包含一些选项卡。我在其中一个选项卡中放入了一个列表视图,其中显示了由模型表示的DataModel.Vulnerability.Fix对象集合的元素。在列表的每个元素的右侧,我都放置了一个按钮/链接,用于删除列表中生成此行的相关Fix对象

这项工作很好,我得到了以下结果(我发布了一个截图):

这是上一个选项卡(显示修复列表的选项卡)的代码:

此方法显示另一个视图,即DeleteFix.cshtml文件,该文件显示一个确认窗口,要求用户确认删除操作,如果返回到上一页,则代码如下:

@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);
}