asp.net – 在服务器端级别渲染javascript.好主意还是坏主意?
现在是一个社区维基!
我想先说清楚:这不是关于服务器端Javascript或运行Javascript服务器端的问题.这是关于从服务器端代码呈现Javascript代码(将在客户端执行)的问题. 话虽如此,请看下面的ASP.net代码,例如: hlRemoveCategory.Attributes.Add("onclick","return confirm('Are you sure you want to delete this?');") 这是在服务器端规定客户端onclick事件. 反对在客户端编写Javascript: $('a[rel=remove]').bind('click',function(event) { return confirm('Are you sure you want to delete this?'); } 现在我想问的问题是:从服务器端代码渲染javascript有什么好处?或反之亦然? 我个人更喜欢将客户端UI /行为连接到HTML元素的第二种方法,原因如下: >服务器端执行它已经需要的任务,包括数据验证,事件委托等;和 这显然是我的想法.我想知道其他人的想法以及是否有关于这个主题的讨论. 从这个参数分支的主题可以达到: >代码管理:从服务器端渲染所有内容是否更容易? 在一天结束时,我正试图让我的团队走向第二种方法.这支球队中有很多老球员都害怕这种变化.我只想用正确的事实和统计数据说服他们. 让我知道你的想法. 更新1:看起来我们所有参与这篇文章的人都有共同的想法;很高兴知道其他人也有同样的想法.现在要说服这些人;)谢谢大家. 解决方法
你的第二个例子远远优于第一个例子. Javascript是您的行为层,应该与您的语义标记(内容)和CSS(演示文稿)分开.这是更好的架构有很多原因:
>鼓励逐步提升.正如您所提到的,后端代码应该在没有JS的情况下正常工作.您不能依赖拥有JS的客户.这样你可以在没有JS的情况下构建一次,然后可以增强那些使用JS的人的体验(例如通过添加客户端验证以及服务器端验证,以便客户端可以获得即时反馈) 还有很多其他论点和理由,但它们应该让你开始…… 此外,从您的示例中可以看出,您的文档中有一个可以删除内容的普通链接.这也是一种不好的做法.删除或更新内容的任何内容都应该在POST(而不是GET)请求上完成.所以它应该是提交表格的结果.否则例如只需抓取您的网页,googlebot就会意外删除您的所有内容(搜索引擎机器人不执行JS,因此您的警报无法帮助) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 什么是在ASP.NET网站中嵌入视频的有效选项?
- 在ASP.NET中设置活动选项卡Ajax TabContainer会导致整个容器
- asp.net – 在IIS上部署MVC应用程序时,我收到一个空白页面
- asp.net – 如何获取SignalR用户连接ID在外线中心类?
- asp.net-mvc – 在运行时替换控制器操作
- ASP.NET API(MVC) 对APP接口(Json格式)接收数据与返回数据的
- asp.net – 从One Build任务创建多个SetParameters.xml
- asp.net-mvc – MVC4 Razor对大括号感到困惑
- asp.net – 为什么Global.asax事件在我的ASP.NET网站没有触
- asp.net – 为什么我的动态添加控件会在Postback后松散它们
- ASP.NET和Web Tools 2012.2引用LESS文件
- asp.net-mvc – ASP.NET MVC提醒我旧的经典ASP意
- asp.net-mvc-3 – 如何在VIEW MVC3 Razor中显示w
- asp.net – 如何将Enter键与aspx页面上的按钮相关
- asp.net-mvc – 复杂视图模型中的多个表单 – 如
- asp.net-mvc-3 – 全球化在ASP.Net MVC 3
- 初识ABP vNext(1):开篇计划&基础知识
- .net – 什么是dnu换行?
- asp.net web api定义的b/s调用方法一例
- asp.net – 我可以在MVC中实现缓存,如果是这样的