防止在Asp.Net Core ViewComponents中加载多个JavaScript脚本
发布时间:2020-12-16 09:20:31 所属栏目:asp.Net 来源:网络整理
导读:例如,我有这个PrimitiveViewComponent: button type="button" onClick="sayHello"/buttonscript function sayHello() { console.log("Hello") }/script 如果我不止一次调用它们,就像这样: div@await Component.InvokeAsync("Primitive")/divdiv@await Comp
例如,我有这个PrimitiveViewComponent:
<button type="button" onClick="sayHello"></button> <script> function sayHello() { console.log("Hello") } </script> 如果我不止一次调用它们,就像这样: <div>@await Component.InvokeAsync("Primitive")</div> <div>@await Component.InvokeAsync("Primitive")</div> <div>@await Component.InvokeAsync("Primitive")</div> 这将是一个模棱两可,因为函数sayHello将被包括三次,这是没有必要的. 我应该如何为ViewComponents定义JavaScript函数,如何防止它们被多次包含,以及在哪里存储它们? 解决方法
我不认为服务器端有办法管理这个问题.但是使用Javascript和JQuery可以解决这个问题.
在这段代码中,我将脚本移动到wwwroot中js文件夹下的scripts.js文件中.在加载页面时,我正在检查SayHello是一个函数还是未定义,如果它是一个函数意味着它被加载到页面,如果它是未定义的,我使用JQuery getscript方法加载脚本. 这是视图组件代码. <button type="button" onClick="sayHello()">Hello</button> <script> if (typeof sayHello !== 'function') { $.getScript( "/js/scripts.js" ).done(function( script,textStatus ) { console.log( textStatus ); }); } </script> 希望能帮助到你 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-3 – asp.net MVC Web API VS asp.net MVC 4和
- asp.net-mvc – DataAnnotations和资源不能很好地发挥作用
- asp.net-core – 你如何解决AspNet Core缺少的依赖关系?
- Asp.Net WebForms上的MVP
- ASP.NET和Flash – 可以与.net进行快速通话
- ASP.NET MVC3 RAZOR:文件上载给出文件计数为零
- asp.net-mvc – ASP.NET的恶意抓取工具拦截器
- asp.net-mvc – 不要在JSON中序列化Entity Framework类引用
- asp.net mvc 3区域和url路由配置
- asp.net – 在ValidationSummary上动态显示bootstrap的周围
推荐文章
站长推荐
- asp.net – 使用@@ identity检索PK
- asp.net – 为什么加密一个web配置文件?
- asp.net – 我可以重新发布或携带POST数据(如果是
- asp.net-mvc – {get;组; }在ViewModel中使用
- asp.net – 在谷歌地图和谷歌地球之间切换
- asp.net-mvc – 如何从ASP.NET MVC应用程序返回4
- asp.net-mvc – 如果用户在int字段中放入非数字字
- asp.net-mvc – 在ASP.NET MVC中创建ETag过滤器
- asp.net-mvc – 在布局页面上渲染脚本时出现奇怪
- asp.net-web-api – ASP.NET Web API:如何在Web
热点阅读