1

ASP.NET 在制作数据输入页面方面有很多不错的特性:

  • 添加输入控件很容易(<asp:...)。
  • 系统自动为控件生成成员变量。
  • 回发自动使用返回的值填充成员变量。

还有一些不太好的部分

  • 即使是最简单的情况,post-backs 似乎也与 JavaScript 相关联。例如,对于静态定义的页面,仅使用在编译时已知的基本控件。

我的问题:

  • 没有第二个列表是否有可能获得第一个列表?
  • JavaScript 为用户提供了哪些功能?
  • JavaScript 实际上做了什么?
  • 即使在微不足道的情况下也使用它的技术原因是什么?

碰巧我的假设是错误的:见这里

4

3 回答 3

1

这实际上取决于您在此处尝试使用的控件类型——唯一实现 javascript 的控件是那些本身不能导致回发的控件(即,输入/提交按钮是仅有的两个可以)。如果您使用 LinkBut​​ton、ImageButton 或任何您设置“AutoPostBack = true”的东西将打开 javascript 以导致回发。

如果其他控件更高级,例如日历,它们也可以潜在地使用 javascript。在这里使用 javascript 的技术原因是在控件需要更高级的服务器交互时提供自动回发 - 想想看,一个链接意味着永远只是一个链接,如果我们试图让它作为一个按钮运行,我们必须通过javascript交互强制它这样做。

话虽如此,是的,您绝对可以在没有 javascript 的情况下使用 ASP.NET,您只需要通过包含没有它就不可能拥有的功能来避免实现它的控件。您可以轻松地添加 HTML 控件并添加 runat="server" 属性并从代码隐藏控件中获取成员变量。

于 2009-08-10T20:32:41.400 回答
1

这就是我想到的:

JavaScript 为用户提供了哪些功能?

客户端验证。

JavaScript 实际上做了什么?

例如,它通过设置 __EVENTTARGET 隐藏字段来确保调用正确的(服务器端)事件处理程序。

没有第二个列表是否有可能获得第一个列表?

您可以使用普通的 HTML 控件而不是 ASP.NET 控件。然后在服务器端,您可以从 Form 集合中读取控件的值。

于 2009-08-10T20:36:19.660 回答
1

<asp:Button />我假设您的意思是与控件关联的 javascript ,对吗?

除了 Fooberichu 提到的原因之外,javascript 还可以帮助 ASP.NETs 客户端验证框架。

但我认为它的主要用途是提醒框架它应该在后面页面的回发中触发哪些事件。

因此,如果表单上有两个按钮,SaveButton 和 DeleteButton,则 javascript 会帮助框架知道它是否应该执行SaveButton_Click事件或DeleteButton_Click事件。

希望这可以帮助。

于 2009-08-10T20:36:27.680 回答