使用jquery/ c# Razor打开一个具有相同会话的新窗口

Open a new window with Same session using jquery/C# Razor

本文关键字:会话 窗口 新窗口 一个 Razor jquery 使用      更新时间:2023-09-26

我试图打开一个与当前会话相同的新窗口。我写了一些代码在下面,但它还没有运气。

例如,假设我有一个表单,有标签(名称),文本框(文本输入的地方)当我按下一个按钮时,我就会进入一个新窗口。

如果我按下这个按钮,它会打开一个新的窗口,里面的表单元素和文本框里的文本和之前放进去的一样。

还请注意,新窗口必须作为浏览器中的新选项卡打开,具有与以前浏览器相同的状态和相同的元素。

有人对此有想法吗(使用razor视图引擎或jquery/javascript) ?提前谢谢。

  <label for="Name">Name</label>
  <input type="textbox" value="nothing" id="text" />
  <input type="button" value="press me" id="submitButton" />    

  $(document).ready(function()
  {                      
    $('#submitButton').click(function()
    {
       var currentUrl=document.URL;
       window.open(currentUrl,"newWindow",300);
       event.preventDefault();
    });
  });

您可以通过使用情态而不是弹出窗口来实现这一点。Jquery UI内置模态支持:http://jqueryui.com/dialog/

这种方法的优点是不需要将数据传递到单独的页面。你的模态代码看起来像这样,使用jQuery对话框。这将出现在与初始输入相同的页面上:

<div id="dialog" title="Basic dialog">
    <input type="text" id="popupText" name="popupText" />
</div>

和你的点击事件将修改更新模态输入并显示模态:

$(document).ready(function(event)
{                      
  $('#submitButton').click(function()
  {
   $("#popupText").val($("#text").val());
   $("#dialog").dialog();
   event.preventDefault();
});

});

这肯定可以清理,但我相信它会做你需要的很简单。这个对话框可以包含任何html元素,所以你可以在必要的时候添加一个单独的表单。