<%@ Page Language="C#" AutoEventWireup="true" %>
<%
string paramString = Request.QueryString["query"];
if (null != paramString)
{
if (paramString.ToLower() == "ValueIsRight".ToLower())
{
//Here I want to invoke ABC function below defined in my asp page
}
}
%>
<script type="text/javascript">
function ABC {
}
</script>
我是ASPX的新手,想知道是否有调用此功能?我尝试使用call
关键字,但它没有出现在我的IDE中。
,据我所知,您真的不能做到这一点。C#在服务器上运行之前,请在为客户端的请求中运送HTML之前,因此运行JavaScript功能将要求服务器运行自己的JavaScript引擎,而ASP则不会。但是,您可以做的是JavaScript的标志变量,因此客户端的负载可以根据您传递的标志进行不同的运行。例如,
<script type="text/javascript">ABC(<%: someFlag.toString() %>)</script>
会将该变量传递给您的脚本!
最基本和最危险的方法是
<script type="text/javascript">
function ABC {
}
</script>
<%@ Page Language="C#" AutoEventWireup="true" %>
<%
string paramString = Request.QueryString["query"];
if (null != paramString)
{
if (paramString.ToLower() == "ValueIsRight".ToLower())
{
Response.Write("<script>");
Response.Write("ABC();");
Response.Write("</script>");
//Here I want to invoke ABC function below defined in my asp page
//dont use this method
}
}
%>
//////////end/////////////////////////////////////////////////////////////////////////注意:JavaScript函数定义在开始。
请使用scriptmanager.registerstartupscript
更详细地了解http://www.dotnetcurry.com/showarticle.aspx?id=200
在客户端上获得Querystring
function getParameterByName(name) {
name = name.replace(/[[]/, "\[").replace(/[]]/, "\]");
var regex = new RegExp("[\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results == null ? "" : decodeURIComponent(results[1].replace(/+/g, " "));
}
来源 ->如何在JavaScript中获得查询字符串值?