我有一个返回数组的javascript函数。
我想知道
请建议。
感谢。
Update1:Javascript函数如下所示。
function RenderUrl()
{
var url = "http://myurl.com/mypage?Id=420&Width=30"; //this is a dummy url.
var qsBegin = url.indexOf("?");
var qsPattern = new RegExp("[?&]([^=]*)=([^&]*)", "ig");
var match = qsPattern.exec(url);
var params = new Array();
while (match != null)
{
var matchID = match[1];
if ( matchID.charAt(0) == "&" )
{
matchID = matchID.substr(1);
}
if ( params[match[1]] != null && !(params[match[1]] instanceof Array) )
{
var subArray = new Array();
subArray.push(params[match[1]]);
subArray.push(unescape(match[2]));
params[match[1]] = subArray;
}
else if ( params[match[1]] != null && params[match[1]] instanceof Array )
{
params[match[1]].push(unescape(match[2]));
}
else
{
params[match[1]]=unescape(match[2]);
}
match = qsPattern.exec(url);
}
return params;
}
更新2:到目前为止我的c#代码(未按预期工作但我目前正在检查)
private void ParseUrl(string Url)
{
int WhereToBegin = Url.IndexOf("?");
string pattern = @"[?&]([^=]*)=([^&]*)";
Regex rgx = new Regex(pattern, RegexOptions.IgnoreCase);
MatchCollection matches = rgx.Matches(Url);
while (matches != null)
{
string matchID = matches[0].ToString();
if (matchID.Substring(0, 1) == "&")
{
matchID = matchID.Substring(1);
}
//Push to the new array named PARAMS here (under construction)
..
..
//End array construction.
matches = rgx.Matches(Url);
}
//Finally return the array once it is working fine.
}
答案 0 :(得分:1)
您发布的javascript只是从网页的网址中提取参数。您不需要使用javascript在ASP.NET中获取该信息,您可以通过查看Request.QueryString
(以及其他方式)直接从C#获取它
答案 1 :(得分:0)
上次检查时,您无法从服务器端代码调用客户端代码。