0

我想使用 ActionLink 将当前表单中的更多数据传递给整个模型,但它似乎不起作用。

这是我的观点:

@model BitcoinRedeemPage.Controllers.BitcoinTransactionViewModel


<form action="/DepositDetails/Send" method="post">
    <input id="walletAddress" type="text" name="walletAddress" />

    @Html.ActionLink("Send", "DepositDetails", "Send", new { /* Here i want to send the current @Model and the walletAddress form field value */ } , null)
</form>

应该接收此数据的 Controller 函数标头如下所示:

public ActionResult Send(string walletAddress, BitcoinTransactionViewModel transaction)

请帮忙 :)

4

1 回答 1

4

您的代码有很多问题,我不知道从哪里开始。

  1. 您不会使用ActionLink. 您应该在表单中使用提交按钮将其提交到服务器(控制器)。
  2. 使用 Html Helpers 而不是 HTML 标签。
  3. 您的 ViewModel 应该在 ViewModels 文件夹和命名空间下,而不是在 Controllers 下。
  4. 而且,如果您想与您的模型一起提交额外的数据,您应该将它们作为属性添加到您的视图模型中。

这是您的视图应如下所示:

@model BitcoinRedeemPage.ViewModels.BitcoinTransactionViewModel

@using(Html.BeginForm("Send", "DepositDetails"))
{
    @Html.TextBoxFor(model => model.WallterAddress)

    <input type="submit" name="submit" value="Submit" />
}

而且,在您的控制器中,您将拥有:

[HttpPost]
public ActionResult Send(BitcoinTransactionViewModel transaction)
{
}
于 2013-08-14T19:47:13.393 回答