【问题标题】:ASP.Net MVC 3 Controller Action and Open New WindowASP.Net MVC 3 控制器操作并打开新窗口
【发布时间】:2011-12-09 01:46:58
【问题描述】:

我有一个控制器和一个动作。此操作是将数据保存到数据库中。现在,我希望当我提交一个按钮时,我的控制器执行一个操作并打开新窗口。

public ActionResult New(FormCollection collection)
    {

       data.Population_Code = collection["Countrys[0].CountryCode"];
       data.Population_Desc = collection["Countrys[0].CountryDesc"];
       data.Population_Grouping = collection["Countrys[0].CountryGroup"];
       data.Population_Type = "CNTRY";
       data.Population_Redudant = "N";
       data.Population_Modified_At = officeCode.User_Office.ToString();
       db.SaveChanges();

      //example for new window
      //window.open('/Report/New.aspx')

      return RedirectToAction("index");
    }

所以我的控制器执行一个操作并打开一个新窗口。

谁能帮帮我?

谢谢

【问题讨论】:

    标签: asp.net asp.net-mvc-3 controller action


    【解决方案1】:

    从技术上讲,这可以通过返回将打开新窗口的 javascript 来完成。

    但是,大多数浏览器都会终止以这种方式调用的新窗口(即弹出窗口拦截器)。

    如果可能,最好从一开始就在新窗口中打开指向您的操作的链接;

    @Html.ActionLink("New report", "New", "Report", null, new {target = "_blank"})
    

    编辑

    从您的操作中我可以看出,它可能是创建报告的表单;您也可以在表单上使用属性target='_blank'

    【讨论】:

    • 感谢马特,是的,这是为了显示报告。实际上,我有菜单报告。但是现在我的老板告诉我做类似的事情,每当控制器执行新操作时,它都会在新窗口中显示报告。现在,我很困惑如何获得我添加的价值。见编辑
    • 是的,您可以使用 actionlink 示例来创建您的菜单链接。这只是在调用操作之前打开新窗口,然后可以保存数据并打开报告视图。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 2012-03-01
    • 1970-01-01
    相关资源
    最近更新 更多