ASP.NET javascript。把它放在代码后面或放在.aspx文件中?

时间:2010-05-27 21:34:49

标签: asp.net javascript

为什么人们把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 + "');";

2 个答案:

答案 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文件中。