【问题标题】:Open a new window and pass parameters to it vb.net asp打开一个新窗口并将参数传递给它 vb.net asp
【发布时间】:2012-04-19 08:34:26
【问题描述】:

您好,我有一个 Web 应用程序,其中包含特定用户的所有可用报告的列表框。我想在单击一行时打开一个新页面“ReportViewerPane”并将报告名称和一些参数传递给 reportviewer.aspx 然后我需要将 ReportViewer 控件 .reportpath 设置为正确的(通过)值并设置参数值(也可以通过)。

我在父页面中有这个的那一刻。 'PassParmString' 是主窗体上的一个文本框:

function open_win()
{
   var Parms = document.getElementById('<%=PassParmString.ClientID %>');
   window.open("ViewerPane.aspx?prm=" + Parms,"_blank","left=20,top=20,width=1000,height=1140,toolbar=0,resizable=1");
}
</script>

但不知道如何访问我在 ReportViewer.aspx 表单中传递的参数'Parms'

请帮忙。

我不擅长这个。并且真的很想理解这些帖子,所以请耐心等待。

非常感谢

苹果机

【问题讨论】:

  • @andrew 将帖子标记为答案,无论哪个答案对您有帮助。只需单击对您有帮助的答案前面的正确标志。它将帮助我们的同行采取正确的方法。作为 SO QA 用户,这应该是我们的责任

标签: asp.net vb.net reporting


【解决方案1】:

你传递的是元素,而不是它的值,你可以这样做:

Parms = document.getElementById('PassParmString').value;

【讨论】:

  • 感谢大家的意见。它起作用了——它开花了(我秃了!)
【解决方案2】:

您可以使用ViewerPane.aspx 页面中的常规请求查询字符串集合来获取它

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) 
    If NOT IsPostBack
        If Not String.IsNullOrEmpty(Request.QueryString("prm"))
           string querystringvalue = Request.QueryString("prm").ToString()
        End If
    End If
End Sub

尝试将您的 javascript 更改为此

<script>
function open_win()
{
   var Parms = document.getElementById('<%=PassParmString.ClientID %>');
   window.open("ViewerPane.aspx?prm=" + Parms.value,"_blank","left=20,top=20,width=1000,height=1140,toolbar=0,resizable=1");
}
</script>

看看这是否有帮助:)

【讨论】:

  • 还是不行。它正在传递 NULL,所以我认为错误在于我定义并传递它的 Javascript。还在苦苦挣扎……
  • @AndrewMcLintock 是的,您应该检查一下您的 var Parms = document.getElementById('');顺便说一句,PassParmString 是一个 HiddenField 或评估或不使用的东西 alert(document.getElementById(''));签入 javascript
  • 在 javascript Parms = document.getElementById('PassParmString').value 中试试这个;正如@brizz 建议的那样
猜你喜欢
  • 1970-01-01
  • 2012-10-24
  • 2011-02-13
  • 2023-03-30
  • 1970-01-01
  • 1970-01-01
  • 2017-06-24
  • 1970-01-01
  • 2013-11-11
相关资源
最近更新 更多