2010-03-10 106 views
0

我是一名本科生, 并且在最近一年的项目中工作。 我有相关的自定义控件的一些疑问如下: 我设计一个文本框字段,将有三个或更多的功能如下:服务器或客户端自定义ASP.Net控件?

  • 无论它将使数字字符只有
  • 或者,它将使电子邮件地址将被视为输入
  • 或者这将是一个文件上传文本框

我使用jQuery来验证该文本框。对于如。用于检查用户是否只输入了数字字符!

我的问题是

  • 有什么更好的方法来建立这样的自定义控件?要么使它纯粹的客户端或纯服务器端或两者?
  • 此外,我需要在文件上传中包含AJAX功能。 如果客户端浏览器由于某种原因不支持Java脚本,那么我们如何才能避免这种约束? 非常感谢您的时间! 请帮助我。

回答

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

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

相关问题