代码之家  ›  专栏  ›  技术社区  ›  punkouter

ASP.NET JavaScript。把它放在代码后面还是放在.aspx文件中?

  •  2
  • punkouter  · 技术社区  · 15 年前

    为什么人们要在代码中加入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 回复  |  直到 15 年前
        1
  •  3
  •   Aren    15 年前

    很可能是在代码背后,因为JavaScript是由ASP.NET代码动态生成的。这不是最好的方法,最好将变量注入到适当的位置,并使用静态JScript对动态生成的变量进行操作。

    我建议把你的javascript放在它自己的.js文件中,如果可能的话不要把你的HTML标记弄乱,否则放在.aspx中。

    编辑: (回答你的评论问题)

    是的,你可以用 <%= %> <%# %> 在ASP.NET 4.0中 <%: %> . 还构造类似 <asp:Repeater></asp:Repeater> 可以用于循环列表/可枚举项,因此理论上可以在.aspx中执行几乎所有操作。

        2
  •  1
  •   SLaks    15 年前

    你说得对,它很难看。

    他们可能是基于代码背后的一些信息来生成JavaScript的。

    通常,您应该将JavaScript放在ASPX中,或者(最好)放在单独的.js文件中。