簡體   English   中英

哪個更好的初始化HTML控件值:Javascript或內聯服務器標簽?

[英]Which is better to initialize HTML control values: Javascript or inline server tags?

哪個更好/更易維護,使用Javascript初始化不同HTML控件的值或編寫內聯<% %>標簽?

我正在編寫的當前頁面有許多HTML控件,我很擔心內聯ASP會使它太難以維護。

好吧......使用JS用值填充控件將使整個解決方案在無JS環境中無用。 這不是webdev社區所說的不干擾。

因為你沒有更好地定義(!)我會說去內聯渲染。

如果你的頁面中確實有數百萬(我真的懷疑這個數字)的HTML控件,我會說你需要回到繪圖板並重新設計解決方案。

如果您在ASP.Net頁面中確實加載了大量HTML控件,則可能需要重新考慮您的設計。 你為什么不使用服務器控件?

但是,您始終可以在HTML元素上使用runtat="server"屬性來有效地將它們轉換為服務器端控件。 然后,您可以使用與ASP.Net控件大致相同的方式使用它們。 但是,您可能需要注意添加的額外Viewstate。

無論方法如何,您都會遇到同樣的問題:可維護性。

我有一些遺留的表單需要記住調用之間的一些字段,所以我有很多代碼可能有點難看,但如果你堅持標准,不會亂。

<label for="email<%=i%>">E-Mail<% if required then %> (*)<% end if %>:</label>
<input name="email<%=i%>" id="email<%=i%>" type="text" value="<%=Trim(request.form("email"&i))%>" />

問題是,當必須添加新控件時,它涉及大量復制粘貼。 可以創建一個函數來構建它並將代碼重復保持在最低限度。

<%= BuildHTMLInputControl("email"&i, "text", "E-Mail", true) %>
' Response: <label for="email1">E-Mail (*):</label><input name="email1" id="email1" type="text" value="Previous Value" />

我沒有做過這樣的事情,因為我已經做過這種小形式的問題。

這樣做的好處是字段是在onload上填充的, 沒有閃爍的內容,你對非Javascript用戶非常友好,你應該這樣做。

唯一的區別是,使用javascript你在document.getElementById()的開始(或者更確切地說是結尾)有很多document.getElementById() ,這會增加HTML文件的大小(這可能是一個問題)並且無法立即填充字段。

什么是更好/更易維護,使用Javascript初始化不同HTML控件的值或編寫內聯<%%>標簽?

我不會這樣做。 這聽起來像舊式ASP,或者可能是PHP或JSP類型的邏輯。

ASP.NET模型是在頁面上使用控件,然后從代碼隱藏或內聯代碼設置這些控件的值,可能使用某種類型的數據綁定。 將顯示邏輯與數據分開是非常容易維護的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM