私の問題は、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イベントでこれを実行しようとしています。他の情報が要求された場合、私はそれを提供するために最善を尽くします.
ご協力いただきありがとうございます。