0

我对 ASP.NET 有点陌生,我正在尝试找出将数据从客户端发布到服务器的正确方法。目前我有一个包含 HTML 内容的 ASPX 页面,我正在考虑如何将数据从 HTML 内容发布到服务器。假设我想在发布数据之前做一些 javascript 的事情,那么这样做的“最佳实践”是什么。

  1. 它应该是一个简单的 HTML 表单,在 .cs 文件中带有侦听器(假设我可以在实际发布之前注入一些 javascript 代码)。
  2. 也许我应该有一个简单的 HTML(而不是 pf ASPX)用 javascript 发布数据?
  3. 还有什么?

谢谢

4

4 回答 4

2

假设您已经有一个服务器端表单,您只需要处理onsubmit表单的事件。

<html>
<head>
  <script language="javascript">
     function handleSubmit()
     {
        var form = this;
        .....
     }
  </script>
</head>
<body>
  <form runat="server" onsubmit="handleSubmit()">
      ...
  </form>
</body>
</html>

handleSubmit()应在script块或外部脚本中声明。如果你false从这个方法返回,它将停止提交表单;其他任何东西,它将继续提交到服务器。

于 2013-10-10T10:33:27.463 回答
2

ASP .NET 仅使用一种表单,并且回发由 ASP .NET 控件触发,或者由 javascript 触发。一些控件默认触发回发,其中一些需要设置,例如 property AutoPostBack。这意味着,在 HTML 之上有一个层,控件会为你做这件事。您只需处理服务器端的事件(.cs 文件)。这试图模仿 WinForms。

如果要提交表单,只需放置一个按钮并处理其单击事件服务器端,您可以从中访问其他控件的值。因此,一个页面上只有一个表单,因此该过程可以自动化。

如果您熟悉 HTML 并且刚开始使用 ASP .NET,我建议您查看 ASP .NET MVC,从 HTML 的角度来看,事情更简单。

于 2013-10-10T11:54:14.023 回答
0

只需在您的表单标签中定义操作并设置方法属性以像这样发布和提交表单,

<form id="myForm" runat="server" action="Default.aspx" method="post"> 

// some fields are here. for instance

<asp:TextBox ID="txtName" runat="server" ></asp:TextBox>

<asp:Button ID="btnSubmit" Text="Submit" runat="server"/>

</form>

当单击提交按钮时,文本框值发布到操作页面“Default.aspx”

并像这样从 default.aspx.cs 后面的代码中获取此值

  public partial class Default : System.Web.UI.Page
    {
               string name = Request.Form["txtName"];
    }
于 2013-10-10T10:51:44.003 回答
0

如果您使用的是 ASP.Net 控件,则可以查看视图状态和回发概念以实现您想要的。但是,如果您使用 HTML 控件,我建议您使用 ajax 而不是使用 html 表单将数据发布到 aspx 页面。为此,您可以使用 jQuery.ajax()。

此时的问题是如何处理后端的ajax请求?您可以执行以下操作之一:

  1. 创建一个读取发布数据并返回 json 响应的 aspx 页面。您需要设置 Response.ContentType = "application/json" 并使用 Response.Write(); 写入 json; 并在此页面中调用 Response.End()。- 这很容易,但做事方式很蹩脚。

  2. 创建一个 HTTP 处理程序来读取发布数据并提供 json 响应。

  3. 创建 .asmx Web 服务并使用它。

  4. 使用 Page Web 方法。检查http://encosia.com/using-jquery-to-directly-call-aspnet-ajax-page-methods/

  5. 创建 WCF REST Web 服务。检查http://www.codeproject.com/Articles/571813/A-Beginners-Tutorial-on-Creating-WCF-REST-Services

  6. 使用新的很棒的 Web API。检查http://www.asp.net/web-api

于 2013-10-10T12:19:57.113 回答