Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 开发简单ASP.NET站点的最佳实践(内置控件或JQuery+;脚本)_C#_Asp.net_Jquery - Fatal编程技术网

C# 开发简单ASP.NET站点的最佳实践(内置控件或JQuery+;脚本)

C# 开发简单ASP.NET站点的最佳实践(内置控件或JQuery+;脚本),c#,asp.net,jquery,C#,Asp.net,Jquery,我最近在审查两个不同承包商编写的一些代码,这两个承包商都是基本的ASP.NET管理站点。这些站点允许用户查看和编辑数据。非常简单的CRUD网关 一组人尽最大努力使用内置的ASP+AJAX工具包控件,并尽最大努力使用尽可能多的内置控件。这与我见过的大多数asp开发人员都非常一致。我发现代码更容易阅读和维护 另一个使用jQuery,代码用脚本块进行了大量标记,然后用脚本块从javascript文件构建页面 脚本块示例: <script id="HRPanel" type="text/htm

我最近在审查两个不同承包商编写的一些代码,这两个承包商都是基本的ASP.NET管理站点。这些站点允许用户查看和编辑数据。非常简单的CRUD网关

一组人尽最大努力使用内置的ASP+AJAX工具包控件,并尽最大努力使用尽可能多的内置控件。这与我见过的大多数asp开发人员都非常一致。我发现代码更容易阅读和维护

另一个使用jQuery,代码用脚本块进行了大量标记,然后用脚本块从javascript文件构建页面

脚本块示例:

  <script id="HRPanel" type="text/html">
   <table cellpadding='0' cellspacing='0' class="atable"><thead class="mHeader"><tr><th>Name</th><th>Description</th><th>Other</th></thead><tbody>
  <# for(var i=0; i < hrRows.length; i++) {         
      var r = HRRows[i]; #>
        <tr><td><#=r.Name#></td><td><#=r.Description#></td><td class="taRight"><#=r.Other#></td></tr>
  <#}#>
   </tbody><tfoot><th></th><th></th><th></th></tfoot></table>
    </script>
在js文件中,您将只需要对html代码进行一系列切换和操作。除了包含html标记的块之外,aspx文件中没有代码

哪个更常见?在由javascript文件控制的脚本中,基本上利用嵌入式HTML标记的一种方法会引起可读性和维护问题


第二,第二种方式会产生什么类型的问题?人们真的在真实的生产环境中使用这样的代码吗?是否有工具可以帮助促进使用visual studio进行jQuery开发,和/或这是Microsoft将来将要进行更精简的实践?

要回答您的一个问题,使用VisualStudio促进jQuery开发的一个工具是

使用Javascript模板构建站点的重要部分而无需回退,这无疑是一个可访问性问题。(这可能不是问题,取决于网站部署的位置)

它也带来了维护问题,因为任何开始使用它的新开发人员都必须学习语法、怪癖,以及为了在站点上工作而使用的Javascript模板系统的问题(我假设他们使用web服务来创建、更新和删除数据)。

恐怕我的工作经验还不足以说明这是否是使用jQuery在ASP.NET中开发的常用方法。不过我不希望


编辑:正如Daniel指出的,ASP.NET中有更好的内置方法,他们可以在这里使用,因此,除非这样做是为了解决非常特殊的业务需求,否则他们可能会遇到BWIKTBI(我所知道的最佳构建方法)你最好做最坏的打算。

我的答案是两者兼而有之。在适当的情况下使用每种方法

这一定是我见过的JQuery最丑陋的用法之一。在这种情况下,标准中继器看起来是一个不错的选择。它有助于以可重复的方式向页面添加元素

JQGrid插件可以很好地处理这个场景,它允许您使用JSON数据或XML更新表的内容。它比您发布的代码简单得多。我的建议是您花时间对这两种方法进行原型化。然后看看两者的复杂性和可扩展性。例如,向表中添加列有多容易?添加分页有多容易

微软已经将JQuery作为默认脚本包含在其MVC模板中。为什么?因为JQuery在业界被认为是改变游戏规则的工具。它大大减少了在DOM中识别和使用元素所需的代码,并且几乎完全消除了对特定于浏览器的Java脚本和浏览器版本测试的需求

JQuery非常适合在客户端向页面添加行为,例如菜单。它对于客户端验证(就发送到页面的javascript而言,比标准验证控件轻得多)也非常有用

当您拥有定义良好的CSS时,JQuery工作得非常好。当您了解了seclector的强大功能后,就可以用极其简洁的代码编写一些非常强大的JQuery行为。请看以下几个好例子:


下班后我会再加一些。:)

正如您所说,ASP+AJAX工具包生成的代码易于理解和维护。但是,它确实限制了您使用内置控件提供的功能,在某些情况下,它可能并不那么有效


jQuery和web服务广泛用于生产网站。特别是对于ASP.NETMVC站点,这是一种值得认可的方式。我个人不喜欢脚本块的想法。但这并不是使用jQuery的唯一方法。您可以有一个常规的ASP.NET网页,并使用jQuery小部件实现丰富的控件。对于AJAX功能,您需要支持AJAX的WCF服务。这些比使用更新面板要有效得多。

大多数ASP.NET控件都会生成非常糟糕的html代码,使用表时肆无忌惮地放弃,这真是可耻。如果您希望使残障友好网站或(IMO)有效地使用css,那么生成糟糕的html是一个可访问性问题。我还遇到过生成的html导致Excel中从web导入数据等问题的实例。如果您想缓解这一特殊问题,您可以使用CSS友好适配器()之类的工具,甚至可以编写自己的适配器(尽管大多数人不这么做)。ListView是.NET3.5中的一个不错的补充,它使开发人员能够更好地控制呈现的html


我同意其他人的看法,即使用脚本块并不理想。我的首选是使用不引人注目的脚本,然后将html元素作为占位符(除了导入js文件外,没有脚本标记)

这是非常可怕的,我只能希望移动foward MS可以使它与jQuery集成时更干净。它看起来几乎像是从为您处理js标记的“智能”控件后退了一步。你所说的(可访问性问题)是什么意思?@Nix-访问权限
 $("#HRPanel").html($("#HRPanel").parseTemplate({ HRRows: response.something.bah.bah }));