2010-05-27 63 views
2

爲什麼人們把JavaScript放在代碼後面?我認爲它有100個(見下文)是難看的....有一些基本的原因,JavaScript必須在代碼背後的一些情況下?什麼時候它應該在aspx中。 ??ASP.NET javascript。把它放在代碼後面或放在.aspx文件中?

// now we gotta recalc fields     
      szCalcBenefitsTotal += "   CalcCostFromPct('" + tbSocialSecurityPercent3.ClientID + "', '" + tbSocialSecurity3.ClientID + "', '" + tbSalaryAdjusted3.ClientID + "');"; 
      szCalcBenefitsTotal += "   CalcCostFromPct('" + tbMedicarePercent3.ClientID + "', '" + tbMedicare3.ClientID + "', '" + tbSalaryAdjusted3.ClientID + "');"; 
      szCalcBenefitsTotal += "   CalcCostFromPct('" + tbHealthInsurancePercent3.ClientID + "', '" + tbHealthInsurance3.ClientID + "', '" + tbSalaryAdjusted3.ClientID + "');"; 
      szCalcBenefitsTotal += "   CalcCostFromPct('" + tbLifeInsurancePercent3.ClientID + "', '" + tbLifeInsurance3.ClientID + "', '" + tbSalaryAdjusted3.ClientID + "');"; 
      szCalcBenefitsTotal += "   CalcCostFromPct('" + tbVacationPercent3.ClientID + "', '" + tbVacation3.ClientID + "', '" + tbSalaryAdjusted3.ClientID + "');"; 
      szCalcBenefitsTotal += "   CalcCostFromPct('" + tbSickLeavePercent3.ClientID + "', '" + tbSickLeave3.ClientID + "', '" + tbSalaryAdjusted3.ClientID + "');"; 
      szCalcBenefitsTotal += "   CalcCostFromPct('" + tbRetirementPercent3.ClientID + "', '" + tbRetirement3.ClientID + "', '" + tbSalaryAdjusted3.ClientID + "');"; 
+0

好的。所以我想這是安全的,你說你應該只把它放在你的.aspx中,除非這是一個很好的理由。 在這個例子中,我有一項工作,我沒有看到原因。 (它只是抓住HTML文本框並進行計算)。客戶端可以通過<%= clientID%>完成同樣的事情嗎? – punkouter 2010-05-27 21:52:02

+0

更新了我的答案以回答您的問題。 – Aren 2010-05-27 22:18:10

回答

3

它很可能在代碼隱藏中,因爲JavaScript是由ASP.NET代碼動態生成的。這不是最好的方法,最好在地方注入變量,並使用靜態jscript來處理動態生成的變量。

我建議把你的JavaScript在它自己的.js文件不搞亂如果可能的話你的HTML標記,否則將其在.aspx

編輯:(爲了回答您的評論的問題)

是的,你可以使用<%= %><%# %>和ASP.NET 4.0 <%: %>做同樣的事情。還可以構建像<asp:Repeater></asp:Repeater>可用於循環列表/枚舉,因此理論上你可以做幾乎所有的.aspx

1

你是對的;這是醜陋的。

他們可能會根據一些僅在代碼隱藏中可用的信息生成Javascript。

一般來說,你應該把你的Javascript放在ASPX中,或者(最好)放在一個單獨的.JS文件中。

相關問題