-1

我有一个返回数组的 javascript 函数。

我想知道

  • (a) 如何在 OnInit 或 Onload 中调用 Javascript 函数
  • (b) javascript 函数返回一个数组,我希望它存储在我的 c# 代码中的一个数组中。

请建议。

谢谢。

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.
}
4

2 回答 2

1

您发布的 javascript 只是从页面的 URL 中提取参数。您不需要使用 javascript 在 ASP.NET 中获取该信息,您可以通过查看Request.QueryString(以及其他方式)直接从 C# 获取它

于 2012-06-07T15:18:57.727 回答
0

上次我检查时,您不能从服务器端代码调用客户端代码。

于 2012-06-07T14:56:31.980 回答