【问题标题】:How to add parameters when using httppost with beginform使用带有beginform的httppost时如何添加参数
【发布时间】:2013-11-04 22:42:26
【问题描述】:

您好,我正在学习 this 教程来学习 MVC 与实体框架。我发现在这个例子中,view page中beginform()提交的edit方法有3个参数。

public ActionResult Edit(int id, FormCollection formCollection, string[] selectedCourses)
{....}

控制器

@using (Html.BeginForm())
{
    ...
<input type="submit" value="Save" />
}

查看

我可以猜到'string[] selectedCourse'参数来自表单中字段集内的复选框。但我仍然不确定“int id”是从哪里来的。请告诉我 httppost 在 MVC 中的工作原理

【问题讨论】:

    标签: asp.net-mvc-4 http-post html.beginform


    【解决方案1】:

    如果您查看教程中的 URL,您会看到它的 /Instructor/Edit/11ID 参数,它在提交表单时映射到action 方法中的ID

    【讨论】:

    • 我明白为什么 'GET' edit() 有 Id 作为参数。你能解释一下为什么 'POST' edit() 需要 id 参数,因为它已经有模型作为参数。并且默认生成的 'Post' edit() 方法也没有 Id 作为参数。
    • 因为那个人正在使用 Edit 功能,我假设它想要找到您的基础实体的特定主键。还需要查看 App_Start 文件夹中的 RouteConfig,这应该可以解决一些与如何将事物路由到 MVC 应用程序的混淆。旁注:您可以将其包含在帖子中或不包含在帖子中。我假设该教程只是让您使用它。欢迎编程……“给猫剥皮的方法不止一种”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-26
    • 2011-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多