0
我的問題是我在FooterTemplate和HeaderTemplate(在datalist)中有一個按鈕,我需要禁用它們/基於一個布爾啓用它們。我知道使用ItemDataBound,但隨着頁面其餘部分的設置無法正常工作,因爲它唯一綁定的時間是初始頁面加載。訪問頁眉/頁腳模板C#中的控件#
我一度曾使用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事件,如果這是有用的信息。如果有其他信息要求,我會盡我所能提供。
謝謝你提供的任何幫助。
我實際使用getElementsByClassName方法(「ButtonStatus」),因爲有兩個按鈕,然後做一個循環,得到兩個按鈕,將在編輯我的問題,所以你可以看到它 –
似乎只有一次工作的禁用它不會啓用。我給這個變量加上一個警告,看看它是否正確返回,布爾是否按照它應該的那樣工作,但這些按鈕只能禁用 –