0

私の問題は、FooterTemplate と HeaderTemplate (データリスト内) にボタンがあり、bool に基づいてそれらを無効にする/有効にする必要があることです。ItemDataBound の使用については知っていますが、バインドされるのは最初のページの読み込みだけであるため、ページの残りの部分をセットアップする方法では機能しません。

私はかつてJavaScriptを使用してこれを機能させていましたが、何かが起こり、JavaScriptが機能しなくなりました。だから私はコードビハインドを通してそれをやりたいと思っています。コントロールにアクセスするために foreach ループを使用する方法はありますか?

私がこれをやろうとしているイベントでは、次のループがあります:

 foreach (DataListItem dli in list.Items)
 {
    int qty = Convert.ToInt32(((TextBox)dli.FindControl("qtyTextBox")).Text);
    int productID = Convert.ToInt32(((Literal)dli.FindControl("prodId")).Text);

    isQtyValid = COMMONACES.GetValues.getTotalQty(sessionID, productID, qty);

    lblError.Visible = !isQtyValid;
    lblError.Text = isQtyValid ? string.Empty : "The total quantity for one or more items exceeds the maximum. The total quantity includes items already in the cart.";

    Page.ClientScript.RegisterStartupScript(this.GetType(), "function", "SetButtonStatus()", true); //used to access javascript
}

Javascript:

function SetButtonStatus() {
    var bb = document.getElementsByClassName('ButtonSubmit');
    for (var i = 0; i < bb.length; i++) {
        bb[i].disabled = <%=(!isQtyValid).ToString().ToLower()%>;
    }
}

役立つ情報であれば、テキスト変更イベントとselectedindexchangedイベントでこれを実行しようとしています。他の情報が要求された場合、私はそれを提供するために最善を尽くします.

ご協力いただきありがとうございます。

4

1 に答える 1