【问题标题】:How to send only specified fields? (Not all fields in the page!)如何只发送指定的字段? (并非页面中的所有字段!)
【发布时间】:2026-02-13 12:50:02
【问题描述】:

我创建了一个帐户页面,该页面可以进行登录、注册、激活等会计处理。我们在此页面中有多个表单(登录/注册..),并且我们正在执行多个操作。此外,登录字段为“lUsername”和“lPassword”,注册字段为“rUsername”、“rPassword”、“rConfirmPassword”(...)。

我只想发送“lUsername”和“lPassword”字段进行登录操作,但我看到表单将所有字段发布到服务器(以执行)。这是 Asp.Net 的正常操作,因为所有 (runat="server") asp 组件/脚本都在服务器上运行/执行。

我想知道如何在 Asp.Net 页面中只发送指定的字段?我认为这对于 Asp.Net 页面本身是不可能的,因为它必须只有“一个”主要形式(因为生态系统)。

现在,我应该使用 Javascript 吗?或者有什么解决办法?

(即我不想通过 GET/POST 请求将“所有”字段发送到服务器。我只想发送有关操作的指定字段。)

+Additional: 我知道,我们可以用 HTML 中的多种表单来做到这一点。创建 3 种不同的表单,例如 <form> 登录 </form><form> 注册 </form><form> 激活 </form>我使用 Asp.Net(具有不同的字段名称)的实现已经有效,但这是关于“不将所有字段发送到服务器”,因为它们是不必要的。

有什么诀窍? :)

【问题讨论】:

    标签: c# html asp.net .net


    【解决方案1】:

    我觉得在一个页面中包含多个操作是一种错误的方法。 如果你必须这样做,以下是我的建议:

    1- 将所有相关控件包装在自己的<Form> 标记中(例如:<form id="Register"...></form><form id="Login" ...> </form>

    2- 无需为类似的控件使用相同的名称,将名称更改为更具描述性(例如:txtRegUsername、txtLoginUsername)它没有任何成本,但让您更容易调试。

    3- 在部分视图中拆分表单(或使用 web 表单的用户控件),因此每个表单在单个资源中都有自己的逻辑/验证

    4- 最后,从一个简单的表格开始,然后添加第二个然后验证,在你调整好之后,添加第三个,第四个等

    再次,我建议您将事物分开以简化您的方式,祝您好运:)

    【讨论】:

      【解决方案2】:

      您可以使用 Javascript 来实现 Ajax。但是,很可能您的应用程序结构不正确。您不需要提交表单的选择性字段

      【讨论】:

        最近更新 更多