如何在 RegisterClientScriptBlock 中传递带有页面 URL 的查询字符串
本文关键字:URL 字符串 查询 RegisterClientScriptBlock | 更新日期: 2023-09-27 18:36:36
我有一个javascript函数'Calc',我称之为
ScriptManager.RegisterClientScriptBlock(Page,typeof(Page),"func","Calc()",true)
我的问题是,该页面包含查询字符串形式的一些参数。
如果 url 中没有查询字符串,但由于我的页面请求包含查询字符串,因此 javascript 函数没有调用,因此代码工作正常。
例如,当浏览器中的 URL 是 -
www.siteurl.com/MyPage.aspx
在这种情况下,上面给定的函数可以毫无问题地执行,但是当我的页面网址是-
www.siteurl.com/MyPage.aspx?id=1
在这种情况下,javascript 函数不会执行。
请帮助我摆脱它。
您应该能够使用以下语法将参数传递给 calc() 函数:
ScriptManager.RegisterClientScriptBlock(Page,typeof(Page),"func","Calc('" & param1 & "','" & param2 & "');",true)
你的 Calc 函数在 aspx 页面中的确切位置是什么?
客户端:
<head>
<title></title>
<script language="javascript" type="text/javascript">
function Calc() {
alert('hi');
}</script>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
服务器端:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Page.Request.Url.Query.Count() > 0 Then
ScriptManager.RegisterClientScriptBlock(Me, Me.GetType(), "func", "Calc()", True)
End If
End Sub