【发布时间】:2010-09-21 04:53:35
【问题描述】:
是否可以在不使用服务器控件或在 html 控件上设置 runat 属性的情况下进行 Web 表单?函数后面的代码怎么调用?
【问题讨论】:
-
能否详细说明为什么不能使用服务器控件?
标签: asp.net
是否可以在不使用服务器控件或在 html 控件上设置 runat 属性的情况下进行 Web 表单?函数后面的代码怎么调用?
【问题讨论】:
标签: asp.net
您可以为准系统 ASP.NET 使用 HTTPHandler。
你不会有一个标记文件,你只会有一个类运行并将你暴露给 HttpContext 以便写出到 HTTP 流。
http://msdn.microsoft.com/en-us/library/f3ff8w4a(VS.71).aspx
事实上,HttpHandler 是所有 .NET Web 框架的构建块。
【讨论】:
是的,可以这样做。仅当您使用回发和服务器控件时,才需要带有 runat server 的表单。
如果您不使用服务器控件,您应该能够将表单添加到 POST 到其他页面的页面(它甚至可以发布到自身)。在您的 page_load 中,您将被限制使用普通的 request.form 和 request.querystring 来检索表单值,但您应该能够调用页面上的其他方法。
如果你熟悉经典的 ASP,你可以用 asp.net 做同样的事情。
另外,看看 asp.net MVC 框架 (http://www.asp.net/mvc)。它允许您在不使用 webforms 的情况下使用 asp.net。
【讨论】:
您至少不能在没有 runat="server" 标记的情况下调用代码隐藏函数。如果您创建了一个 Web 服务,则可以创建一个纯 html/javascript 页面,该页面通过 AJAX 与服务器交互。据我所知,这是您使用 ASP.Net 的唯一两种选择。
【讨论】: