我想做一个Response.Redirect("MyPage.aspx")但是在新的浏览器窗口中打开它.我之前没有使用JavaScript注册脚本方法就完成了这个.我只是不记得怎么了?
这是情况。
我有一个保存和一个打印按钮:
<input name="btnSubmit" type="submit" value="Save" />
<input name="btnSubmit" type="submit" value="Print"/> @*Redirect to Action("Print", "controler")*@
Run Code Online (Sandbox Code Playgroud)
但是打印按钮必须打开一个新标签。如果只是我,我显然知道我必须在打印前保存……这不是问题。我可以将此链接与目标空白一起使用:
<a target="_blank" href="@Url.Action("Print", "controler", new { id = Model.id })" type="submit" value="Print" > Print</a>
Run Code Online (Sandbox Code Playgroud)
很简单,但现在有些用户认为打印按钮也应该保存页面。因为他们不推送保存......他们只是打印并且模型更改丢失了,因为我无法在我的打印链接中调用发布操作......这是一个链接。
起初,我想我可以对保存函数进行异步调用,但是我的模型太大了,它需要回传它自己的动作(对吗?)
经历了这个:
如何在 response.redirect 上使用 Target=_blank?
而且我不确定它是否真的对 MVC 有帮助……现在我被困在这里:
[HttpPost]
public ActionResult MyForm(string btnSubmit, formModel model)
{
if (btnSubmit == "Print")
{
dbSave(model);
return RedirectToAction("Print", "controler"); // Won't open new tab...
}
}
Run Code Online (Sandbox Code Playgroud)