MVC、Forms 和当前路由参数/ID

发布于 2024-10-11 06:07:17 字数 414 浏览 1 评论 0原文

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

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

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

现在我当前的页面是 /customers/addcredits/ 1 所以我需要以某种方式将“1”参数放入我的表单中 - 如何在没有某种黑客的情况下做到这一点?我知道它需要成为 "customer" 之后的参数,但我不确定获取此数据的最佳方法。

I have a form that POSTs back data to the same webpage. The form must be given a HTML ID so that my JQuery validation will work properly.

Currently if you want to add such an ID you have to add a load of other stuff first, such as controller name and action name etc (which seems a bit rubbish to me)

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

Now my current page is /customers/addcredits/1 so I need to somehow get the "1" parameter into my Form - how do I do this without some kind of hack? I understand it needs to be a parameter after "customer" but am unsure the best way to get this data.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

倾听心声的旋律 2024-10-18 06:07:17

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

由于您只想将一个整数传递给视图,因此视图页面应该在页面定义中继承这一点:

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

并且要在页面上的某处(例如在表单中)显示该整数,您将执行以下操作:

<%= Model %>

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

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

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

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

Your Controller should pass the data to the View.

Since you only want one integer to be passed to the View then the View page should have this inherit in the Page definition:

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

And to display the integer somewhere on the page, for example in your form, you would do the following:

<%= Model %>

Model is the object that was passed to the View and is of the type int.

On the Controller you have to do the following when you post:

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

Voila! the id parameter is the number. I pass it back to the view.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文