2 回答

TA貢獻(xiàn)1796條經(jīng)驗 獲得超7個贊
這是將 WebForms 與 javascript 結(jié)合使用時的常見誤解。在 javascript pure(html 和 javascript)中,當(dāng)您“返回 false”時,這意味著您不希望執(zhí)行該操作。所以如果你寫
<input type="submit" onclick="return false;" />
這意味著提交按鈕將不起作用。在純 webforms 中,您正在一個非常高的級別(主要是在服務(wù)器端)工作,并且每次回發(fā)都會重新呈現(xiàn)整個頁面。即使你只是改變了一些微小的東西 - 整個 html+css+javascript 會來回重新計算和重新渲染。無賴,?。?/p>
這是一個典型的混合意圖案例。你需要決定你在做什么 - 如果純 html + java-script 是你的意圖使用(偽代碼):
<input type='button' onclick='englishButton' value='English' />
甚至更好(仍然是偽代碼,但 html5 偽代碼)
<button onclick='return englishButton();'>English</button>
如果 webforms 是你的東西 - 堅持 - 在服務(wù)器端進(jìn)行操作并保持優(yōu)雅、簡單和快速呈現(xiàn)。如果您不關(guān)心網(wǎng)絡(luò)流量和花費太多開銷,而是希望一切都在短時間內(nèi)啟動并運行,那么 Webforms 也很有意義。
但是您可能最好選擇其中一種而不是混合這兩種方法。

TA貢獻(xiàn)1744條經(jīng)驗 獲得超4個贊
如果您不希望它與服務(wù)器交互,為什么不使用純 HTML 按鈕呢?這里不需要 ASP 控件。
此外,我始終建議使用使用addEventListener的不顯眼的事件處理程序,因為它比在 HTML 中使用內(nèi)聯(lián)事件屬性更具可讀性和可維護(hù)性。
HTML:
<button type="button" id="englishButton">English</button>
JavaScript:
document.getElementById("englishButton").addEventListener("click", englishClick);
function englishClick() {
russianButton.style.backgroundColor = "WhiteSmoke";
englishButton.style.backgroundColor = "teal";
hebrewButton.style.backgroundColor = "WhiteSmoke";
englishTable.style.visibility = "visible";
hebrewTable.style.visibility = "hidden";
russianTable.style.visibility = "hidden";
}
添加回答
舉報