使用asp.net重用javascript代码

时间:2011-07-21 15:56:42

标签: javascript asp.net

我最近接管了用asp.net编写的网站的开发。在开始使用之前,我花了很少的时间在Web应用程序上。由于我没有这方面的经验,我对批评犹豫不决,但我觉得这个网站的写得非常糟糕。

查看visual studio生成的以下搜索结果:

  \website\js\ADMIN_userprofile.js(715):function sendInvite() {
  \website\js\ADMIN_userprofilePro.js(745):function sendInvite() {
  \website\js\mycontactdetails.js(466):function sendInvite() {
  \website\js\mycontactdetailspro.js(466):function sendInvite() {
  \website\js\mycontactrequestspro.js(676):function sendInvite() {
  \website\js\mycontacts.js(239):function sendInvite()
  \website\js\mycontactspro.js(240):function sendInvite()
  \website\js\mygroups.js(103):function sendInvite()
  \website\js\myprofile.js(715):function sendInvite() {
  \website\js\myprofilepro.js(745):function sendInvite() {
  \website\js\search.js(55):function sendInvite() {    
  \website\js\searchpro.js(55):function sendInvite() {                         
  \website\search.js(44):function sendInvite() {

这些功能中的每一个都是相同的。有人已经复制了整个代码块,只要他们觉得另一个页面需要sendInvite()功能。在相关的.aspx页面中,通常会有一个点击的链接调用该函数,还有一些由javascript调用的隐藏弹出窗口,例如“您确定要发送邀请吗?”之类的内容。以与网站设计的其他部分一致的方式。

克隆代码很糟糕,很难维护。但是,我不知道如何让这个更好。我可以将这里的所有功能 - javascript和popup - 包装到一个设备中,我可以在需要的地方引用它吗?我已经阅读过.ascx页面的使用(在我继承的源代码中很少使用),但我不知道是否可以安全使用这些包含javascript。

3 个答案:

答案 0 :(得分:2)

尝试javascript的模块管理器,如

然后将您的功能放在一个模块中,require页面中的那个模块。

答案 1 :(得分:2)

发抖

没有什么比在整个地方重复的代码更糟糕了。

最简单的方法是将函数复制到单个js文件中,从所有其他js文件中删除代码,并确保新脚本文件包含在调用其中一个函数的任何页面中使用HTML中的脚本标记。

答案 2 :(得分:1)

是的,只需要使用方法并将其放入.js文件中,将其弹出到解决方案中的文件夹中,然后在每个.aspx页面中,您需要它,只需导入它:

<script type="text/javascript" src="<YOUR_LOCATION>"></script>