0

C# コードからブラウザーの 10 個のタブを開きたいのですが、どうすればそれを行うことができますか?

protected void Page_Load(object sender, EventArgs e)
{
    foreach (var url in Getdata())
    {
        string URL = string.Format("http://www.websitename.com/member_id={0}", url.Replace("Member", ""));
        Response.Redirect(URL);
    }
}

public List<string> Getdata()
{
    List<string> Key = new List<string>();
    Key.Add("Member2942048");
    Key.Add("Member3271434");
    Key.Add("Member3271124");
    return Key;
}

また、このためのjQuery / Javascriptコードの書き方を提案します(jQueryでarraylistを作成して、1つずつ読むことができます)

4

3 に答える 3

6

これは仕事をします:

    /// <summary>
    /// Opens new window
    /// </summary>
    /// <param name="page"></param>
    /// <param name="fullUrl"></param>
    public static void OpenNewWindow(System.Web.UI.Page page, string fullUrl, string key)
    {
        string script = "window.open('" + fullUrl + "', '" + key + "', 'status=1,location=1,menubar=1,resizable=1,toolbar=1,scrollbars=1,titlebar=1');";
        page.ClientScript.RegisterClientScriptBlock(page.GetType(), key, script, true);
    }

現在のページから、次のように呼び出す必要があります。

OpenNewWindow(this,"http://someServer/somePage.aspx","key");

ページに ScriptManager が含まれていることと、すべての呼び出しでキーが一意であることを確認してください。

だからあなたのコードで:

int i=0;
string key = "Opener";
foreach (var url in Getdata())
{
     i +=1;
     string URL = string.Format("http://www.websitename.com/member_id={0}", url.Replace("Member", ""));
     OpenNewWindow(this,URL , key + i.ToString());
}
于 2012-11-04T08:27:04.863 に答える
0

サーバー側のコードからこれを行うことはできません。できることは、開く URL のリストをクライアントに提供し、クライアントが各 URL に対して新しいウィンドウを開くようにすることです。ブラウザはあなたを Windows スパマーとしてブロックするので、これは少し難しいかもしれません。

于 2012-11-04T08:28:01.427 に答える
-2

あなたが使用することができますProcess.Start(websiteUrl );

Process BrowserProcess = new Process();

このような:

ProcessStartInfo psiOjbect = new ProcessStartInfo("http://DefaultWebsiteOfmyCompany.com"); // You can also use "about:blank".

            BrowserProcess.StartInfo = psiOjbect;
            BrowserProcess.Start();
            Thread.Sleep(1000); //Need to wait 

            foreach (string websiteUrl in Properties.Settings.Default.WebSiteURLs)
            {
                Process.Start(websiteUrl );
            }
于 2012-11-04T08:29:41.483 に答える