服务器或客户端自定义ASP.Net控件?

时间:2010-03-10 19:09:49

标签: javascript ajax textbox server-side custom-controls

我是一名本科生, 这些天我正在完成我的最后一年项目。 我有一些与自定义控件相关的查询,如下所示: 我正在设计一个文本框字段,它将具有三个或更多功能,如下所示:

  • 它只允许使用数字字符
  • 或者它允许将电子邮件地址作为输入
  • 或者它将是一个文件上传文本框

我正在使用jQuery来验证此文本框。例如。用于检查用户是否仅输入了数字字符!!

我的问题是

  • 构建此类自定义控件的更好方法是什么?要么是纯客户端还是纯服务器端,还是两者兼而有之?
  • 另外,我需要在文件上传器中包含AJAX功能。 如果客户端浏览器由于某种原因不支持JavaScripting,那么我们如何避免这种约束呢? 非常感谢您的宝贵时间 ! 请帮助我。

1 个答案:

答案 0 :(得分:0)

  1. 首先,您必须确定是否需要控件的客户端和服务器端功能。这取决于您的需求。如果您将其作为大型应用程序的一部分编写,我建议您同时使用它们,因为它更易于管理。如果您确定两者都需要,ASP.NET将包含您正在寻找的确切功能。它被称为Extender控件。它们将允许您创建自定义服务器端控件并扩展该控件以包含一些客户端功能。您可以获得有关Extenders here的更多信息。

  2. 优秀的失败AJAX控件很少见,大多数创建AJAX控件的开发人员都认为所有客户端都会启用JavaScript。但是,他们并不难做到。实际上,如果您使用的是ASP.NET AJAX更新面板,它们很容易实现。如果禁用JavaScripts,更新面板本身将自动切换到完全回发。如果您使用的是AJAX或jQuery的自定义实现(如上所述),则必须遵循一些简单的规则。首先,避免从脚本内部绑定事件,使用onclick,onmouseover等。这样,如果链接有onclick事件和有效的href标记,如果JavaScript打开,你将处理onclick事件处理程序,但如果它们是关闭,您将只关注href属性值。对于上传器,您可以将上传器放在FORM元素中,并向其添加onsubmit事件。如果JS打开,你将处理onsubmit,并进行AJAX调用以保存文件,如果JS关闭,你将回发整页并从服务器端保存文件。