【问题标题】:Input Submit Button - Html.buttonfor输入提交按钮 - Html.buttonfor
【发布时间】:2020-02-02 18:19:12
【问题描述】:

我对 mvc razor 和构建网站(前端和后端)有点陌生。分解是,我需要一个存储有值的按钮发送到控制器/模型。类似于 html boxtextfor 的东西。我曾尝试为 boxtextfor 提供类似于输入提交按钮的属性,但它不喜欢那样。我已经使用 javascript 测试了按钮,它确实在每个单独的按钮中都有值(按钮的数量是基于先前提交的动态的)。

我看过这样的帖子,但我不确定如何将它们添加到我的控制器或模型中,以便我的索引页面可以调用它。我的模型链接到我的索引页面,所以我想我可以在我的模型中链接这些方法。

There's no @Html.Button !

(试过这个,但它需要链接到我的模型。一个简单的按钮不起作用。) Looking for a Html.SubmitButton helper that would accept class attributes in MVC3

我目前无权访问我的相关代码。该按钮必须是输入提交才能转到 [HTTPPOST]。但是,如果您需要更多信息,请告诉我。

感谢您的宝贵时间,

HtmlNooby

【问题讨论】:

  • <input type='hidden' name='submitValue'>@Html.HiddenFor(m=>m.submitValue) - 是否有理由需要在按钮上?你有多个按钮吗?
  • 是的,我正在更新一个旧系统,即 PHP 和上一页,用户已经习惯了按钮。因此,我正在使用 MVC razor 重新创建页面以与新网站兼容。感谢您的建议!我明天会努力的。
  • 如果你有多个按钮,你可以确定是哪个按钮导致提交没有隐藏字段,使用这个:stackoverflow.com/a/7111222/2181514 - 毫无疑问它可以扩展为单个按钮添加额外的信息,所以不依赖于多个按钮。

标签: javascript c# jquery html razor


【解决方案1】:

我通过用以下内容包装一个按钮来解决它。这将创建将每个单独的按钮与数组中的给定项目绑定。如果你愿意的话,有点像按钮。

Foreach item in array{
  @using(Html.BeginForm(…)
  {
    <button class=input value=item>item</button>
  }
}

【讨论】:

  • 不要将 beginform 放在这样的循环中。只需将各种按钮放在一种形式中即可。