我越来越厌倦了关于控制ID的所有怪癖,试图在服务器端获取数据(基于客户端事件).我似乎花了更多时间与asp.net中的控件进行斗争,我认为这比我使用它获得的时间更多.
我正在考虑使用简单的html/javascript和jQuery以及为数据返回json的Web服务.
我认为我唯一想念webforms的是MasterPages,会话管理,基于Windows登录的身份验证和可能的验证器(虽然它们也有一些怪癖).(事实上,也许不是会话和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 | |________________________________________________________________________|
Edit2: 我对ASP.NET的问题与ajax无关.是的,我使用jQuery使界面更加动态,就像在不需要时显示/隐藏搜索部分一样,并从树中折叠细节,但这就是我用它做的全部.
困扰我的是,如果我想检查在这个例子中点击了哪个按钮,我必须使用一些感觉有点蠢的技巧.
如果要在转发器中使用数据绑定组合框,则必须使用代码隐藏来设置所选值,从而无法检索所选数据.
接下来,如果要检查修改了哪些数据,则必须将数据表保存在视图状态中,从转发器中的所有控件读取数据,然后与数据表进行比较以进行更新.这就是用asp.net打扰我的事情.
如果使用得当,ASP.NET和JavaScript/jQuery Web应用程序确实可以相互补充.我现在已经在3个不同的Web应用程序中实现了jQuery,我很喜欢它的每一分钟.只要你使用每个组件的力量,你最终会对项目感到满意.
你特别提到控制ID引起了一个问题,但它真的没什么大不了的.
JavaScript的
document.getElementById("<%=this.MyObject.ClientID %>");
jQuery的
$("#<%=this.MyObject.ClientID %>")....
在您的父子关系示例中,您可以非常轻松地使用UpdatePanels处理与ASP.NET和AJAX框架讨论的内容.