Asp.net NET javascript。把它放在代码后面还是放在.aspx文件中?

Asp.net NET javascript。把它放在代码后面还是放在.aspx文件中?,asp.net,javascript,Asp.net,Javascript,为什么人们把javascript放在代码后面?我认为这是丑陋的有100(见下文)这些。。。。在某些情况下,javascript必须存在于代码背后,这有什么基本原因吗?什么时候应该在aspx中 // now we gotta recalc fields szCalcBenefitsTotal += " CalcCostFromPct('" + tbSocialSecurityPercent3.ClientID + "',

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

你是对的;它很难看

他们可能是基于一些仅在代码背后可用的信息生成Javascript


一般来说,您应该将Javascript放在ASPX中,或者(最好)放在一个单独的.JS文件中。

可能放在后面的代码中,因为Javascript是由ASP.NET代码动态生成的。这不是最好的方法,最好在适当的位置注入变量,并使用静态jscript对动态生成的变量进行操作

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

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


是的,您可以使用
以及ASP.NET 4.0
执行相同的操作。像
这样的结构也可以用来循环列表/可枚举项,因此从理论上讲,您可以在.aspx

Ok中执行几乎所有操作。所以我想你说你应该只把它放在你的.aspx里是安全的,除非有很好的理由。在这个例子中,我有一个工作,我不明白原因。(它只是抓取HTML文本框并进行计算)。。客户端也可以做同样的事情吗?更新我的答案来回答你的问题。