0

Webユーザーコントロールを追加し、Webユーザーコントロールの「ButtonClick」という名前の関数をクライアント側のjqueryに作成しました。そして、ループ内でScriptManager.RegisterStartupScriptを使用して、コードビハインドからこのメソッドを呼び出します。ただし、実行されるのは1回だけですが、ループ時間は実行する必要があります。

助けてください......コードサンプルはこちら

  var q = (from p in obj.Pinny_ShowOffer where (p.OfferID == objOffer.OfferID) select p).ToList();
    if (q.Count > 0)
    {
        Rdbtnoffersetup.Items.FindByValue("2").Selected = true;
        ScriptManager.RegisterStartupScript(Page, Page.GetType(), "ShowDIv", "ShowDiv(2,2);", true);
        Int32 k = 0;
        for (Int32 i = 0; i < q.Count; i++)
        {
            ScriptManager.RegisterStartupScript(Page, Page.GetType(), "ButtonClick",
                                                                        "ButtonClick('btn" + q[i].Weekday + "','" + q[i].Weekday + "');", true);
            if (q[i].StartTime == "07:00" && q[i].EndTime == "11:00")
            {
                ScriptManager.RegisterStartupScript(Page, Page.GetType(), "select value", "SelectValueoFDropDown('drpStart" + q[i].Weekday + k + "','1');", true);
            }
            k++;
        }
    }
4

1 に答える 1

1

一度だけ発火する理由はButtonClickRegisterStartupScript通話のキーを複製しているためです。

ドキュメントから:

クライアントスクリプトは、そのキーとタイプによって一意に識別されます。同じキーとタイプのスクリプトは重複と見なされます。このページに登録できるのは、特定のタイプとキーのペアを持つ1つのスクリプトのみです。すでに登録されているスクリプトを登録しようとしても、スクリプトの複製は作成されません。


代わりに、このようなものを試して、一意に保つことができます。

ScriptManager.RegisterStartupScript(Page, Page.GetType(), "ButtonClick" + i.toString(),"ButtonClick('btn" + q[i].Weekday + "','" + q[i].Weekday + "');", true);
于 2012-11-27T08:44:51.990 に答える