0
我有一個.net Web窗體方法在一次調用中調用JavaScript方法(來自用戶控件),但只觸發第一個調用。 後端代碼是:只使用ScriptManager調用JavaScript方法調用一次
bool isAddOnsExisting = priceSummaryList.Any(x => x.ItemName == "AAA");
UcSummary.setPanelVisibility(isAddOnsExisting, "AAAPanel");
bool isControlExisting = priceSummaryList.Any(x => x.ItemName == "BBB");
UcSummary.setPanelVisibility(isControlExisting, "BBBPanel");
從後端的方法 'UcSummary' 是:
public void setPanelVisibility(bool isExisting, string itemTitle)
{if (isExisting)
{ScriptManager.RegisterStartupScript(Page, GetType(),
"setVisibility","updatePanelVisibility('1','" + itemTitle + "');", true);}
else
{ScriptManager.RegisterStartupScript(Page, GetType(),
"setVisibility","updatePanelVisibility('0', '" + itemTitle + "');", true);}}
JavaScript方法是:
function updatePanelVisibility(isExisting, itemPanel)
{
var theItemPanel = "#" + itemPanel;
if (isExisting == '1') {
$(theItemPanel).fadeIn();
}
else {
$(theItemPanel).hide();
}
}
我發現只有第一種方法爲'AAA'將被觸發,但'BBB'被忽略。任何人都可以提出原因嗎?謝謝!
我已經改變調用方法到: 如果(isExisting) { ScriptManager.RegisterClientScriptBlock(頁,的GetType(), 「setControlVisibility2」, 「updateControlPanelVisibility( '1','」 + itemTitle +「'); 「,是); (頁面,GetType(),「setControlVisibility3」, 「updateControlPanelVisibility('0','」+ itemTitle +'');「,true);}}}}}}}}}}}}}}} else { { } } 它仍然只運行一次AAA。 – DennisL
我將該鍵添加爲「腳本」+ Guid.NewGuid(),那麼它的作品!謝謝! – DennisL