MVC,表单和当前路由参数/ ID

时间:2011-01-11 09:22:18

标签: html asp.net-mvc model-view-controller forms

我有一个表格,可以将数据发回到同一个网页。必须为表单提供HTML ID,以便我的JQuery验证能够正常运行。

目前,如果你想添加这样的ID,你必须首先添加一些其他的东西,比如控制器名称和动作名称等(这对我来说似乎有些垃圾)

<% using (Html.BeginForm("addcredits", "customer", FormMethod.Post, new { id = "addcreditform" }))

现在我的当前页面是/customers/addcredits/1所以我需要以某种方式将“1”参数添加到我的表单中 - 如何在没有某种黑客的情况下执行此操作?我知道它必须是"customer"之后的参数,但我不确定获取此数据的最佳方式。

1 个答案:

答案 0 :(得分:0)

您的控制器应将数据传递给视图。

由于您只想将一个整数传递给View,因此View页面应该在Page定义中具有此继承:

Inherits="System.Web.Mvc.ViewPage<int>"

要在页面的某个位置显示整数,例如在表单中,您将执行以下操作:

<%= Model %>

Model是传递给View的对象,其类型为int。

在控制器上,发布时必须执行以下操作:

public ActionResult addcredits(int? id)
{
    // Some post logic
    return View(id.Value);
}

瞧! id参数是数字。我把它传回视图。