为什么人们把javascript放在代码背后?我认为拥有100(见下文)这些是丑陋的....在某些情况下,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 :(得分:3)
可能在代码隐藏中,因为javascript是由ASP.NET代码动态生成的。这不是最好的方法,最好在地方注入变量并使用静态jscript来处理动态生成的变量。
我建议把你的javascript放在它自己的.js文件中,如果可能的话,不要弄乱你的html标记,否则把它放在.aspx中
修改: (回答您的评论问题)
是的,您可以使用<%= %>
和<%# %>
以及ASP.NET 4.0 <%: %>
执行相同的操作。像<asp:Repeater></asp:Repeater>
这样的结构可以用来循环遍历列表/枚举,所以理论上你可以在.aspx
答案 1 :(得分:1)
你是对的;它太丑了。
他们可能根据一些仅在代码隐藏中可用的信息生成Javascript。
通常,您应该将您的Javascript放在ASPX中,或者(最好)放在单独的.JS文件中。