.net - 从 ASP.NET 切换到面包和黄油 HTML/jQuery 的优势

标签 .net asp.net jquery web-services

我越来越厌倦了关于控件 ID 的所有怪癖,试图在服务器端获取数据(基于客户端事件)。我似乎花了更多的时间与 ASP.NET 中的控件进行斗争,我认为这花费的时间比使用它所获得的时间还要多。

我正在考虑使用纯 html/javascript 和 jQuery 以及返回 json 数据的 Web 服务。

我认为 Webform 中我唯一会怀念的是 MasterPages、 session 管理、基于 Windows 登录的身份验证以及可能的验证器(尽管它们也有一些怪癖)。 (事实上​​,可能不是为了session和auth,但我从来没有开发过webservices)

  • 是不是方式有问题 我正在考虑这个问题,或者 有什么我没想到的吗?
  • asp.net 中是否有您需要的东西 我想我会想念吗?
  • 有人以前做过这个并想分享经验吗?

另请注意,我只有 Framework 2.0 可用于开发。

<小时/>

编辑:在 asp.net 中给我带来麻烦的事情让我想知道是否需要进行切换:

这是给我带来问题的页面示例。

有一个树表(主/详细信息)

您可以编辑每个子行上的字段。

当您按下保存按钮时,必须更新组行中的数据(仅来自选择的数据,不修改数据库),如下所示 子行的数据。

我不想刷新整个页面,因为显示的记录基于搜索条件。

主/详细信息是使用中继器生成的

尝试从后面的代码更新记录确实很奇怪,并且仍然不知道如何更新显示。

使用 jQuery 和 Web 服务,我的猜测是我可以直接更新到数据库,请求我想要显示的内容,然后更新该记录。这种事情让我怀疑 ASP.NET 是否只是妨碍了我。


 ________________________________________________________________________
| -  Some             Details           About            Group           |
|________________________________________________________________________|
    |¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|
    | ChildRecord Some  Editable  Fields       SaveButton   |
    | ChildRecord Some  Editable  Fields       SaveButton   |
    | ChildRecord Some  Editable  Fields       SaveButton   |
    | ChildRecord Some  Editable  Fields       SaveButton   |
    |_______________________________________________________|
 ________________________________________________________________________
| +  Some             Details           About            Group           |
|________________________________________________________________________|
 ________________________________________________________________________
| +  Some             Details           About            Group           |
|________________________________________________________________________|

<小时/>

编辑2: 我遇到的关于 ASP.NET 的问题与 ajax 无关。是的,我使用 jQuery 使界面更加动态,例如在不需要时显示/隐藏搜索部分以及折叠树中的详细信息,但这就是我用它所做的一切。

令我困扰的是,如果我想检查在这个例子中哪个按钮被点击,我必须使用一些感觉有点笨拙的技巧。

如果你想在转发器中使用数据绑定(bind)组合框,你必须使用代码隐藏来设置所选值,检索所选数据将是一件痛苦的事情。

接下来,如果你想检查哪些数据被修改了,你必须将数据表保存在 View 状态中,从中继器中的所有控件中读取数据,然后与数据表进行比较以进行更新。这正是 ASP.NET 困扰我的问题。

最佳答案

如果使用得当,ASP.NET 和 JavaScript/jQuery Web 应用程序确实可以相得益彰。我现在已经在 3 个不同的 Web 应用程序中实现了 jQuery,并且我喜欢它的每一分钟。只要您充分利用每个组件的优势,您最终就会对该项目感到满意。

您特别提到 Control ID 导致了问题,但这确实不是什么大问题。

JavaScript

document.getElementById("<%=this.MyObject.ClientID %>");

jQuery

$("#<%=this.MyObject.ClientID %>")....

在您的父子关系示例中,您可以非常轻松地准确处理您正在使用 ASP.NET 和 UpdatePanels 的 AJAX 框架讨论的内容。

关于.net - 从 ASP.NET 切换到面包和黄油 HTML/jQuery 的优势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/710016/

相关文章:

c# - 如何在用户控件完全可见后执行方法

c++ - 从另一个函数更改表单 "visible"属性?

asp.net - 什么是更好的: Static variable V. S.Asp.NET应用程序 session ?

c# - 用于仅选择 jquery 列表中已选中项目的选择器

c# - 将现有代码优先模型和流畅的 API 配置从 Entity Framework 6 移植到 Entity Framework Core 2.0

c# - 抽象类未使用 CodeDom 生成

asp.net - 为什么不删除 Server 和 X-Powered-By header ?

javascript - Jquery 的媒体查询等价物是什么

Javascript 获取元素的文本

javascript - 单击我的菜单时,如何根据显示的菜单使两个无序列表淡入淡出?