gpt4 book ai didi

c# - MVC : what code gets called when you click the "submit" button?

转载 作者:可可西里 更新时间:2023-11-01 07:52:24 25 4
gpt4 key购买 nike

MVC新手问题;我通过玩耍而不是阅读手册来学习...:)

我在创建“编辑” View 时发现自动生成的 View 包含一个“提交”按钮:

<input type="submit" value="Save" />

但是在幕后调用什么代码来执行此保存操作?具体来说,这个 View 的基础模型在我想要调用的代码中有自己的奇特保存逻辑。我如何让 View 调用我的代码,而不是在幕后无形地调用任何标准代码?

最佳答案

定义发生什么的不是按钮,而是表单本身。提交类型的按钮(每个表单一个)仅触发表单提交,由表单本身处理。

一个表单有一个 Action ——例如:

<form name="input" action="users/save" method="post">
<!-- Form content goes here -->
<input type="submit" value="Submit" />
</form>

操作是一个 URL,浏览器会收集表单中所有字段的值 ( <input...> ) 并将它们发布到指定的 url。

在 ASP.NET MVC 中,表单通常使用 Html 帮助程序定义,因此为表单操作构建 URL 被委托(delegate)给 ASP.NET MVC。以上例为例:

<% using(Html.BeginForm("Save", "Users")) %>
<% { %>
<!-- Form content goes here -->
<input type="submit" value="Save" />
<% } %>

在这种情况下,这将创建一个 url /users/save表格将发布到该网址。这将触发将处理 /users/save 的 ASP.NET 路由。 url 并将其分成 block ,以便它知道它必须调用“用户” Controller 类上的“保存”操作方法。然后它将读取所有传入的字段名称-值对,并尝试将它们映射到方法参数名称(如果有)。

关于c# - MVC : what code gets called when you click the "submit" button?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5621648/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com