Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 如何将模型和一些表单数据传递给控制器?_Asp.net Mvc_Asp.net Mvc 3_Asp.net Mvc 4 - Fatal编程技术网

Asp.net mvc 如何将模型和一些表单数据传递给控制器?

Asp.net mvc 如何将模型和一些表单数据传递给控制器?,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-4,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc 4,我想使用ActionLink将当前表单中的更多数据传递给整个模型,但它似乎不起作用 以下是我的看法: @model BitcoinRedeemPage.Controllers.BitcoinTransactionViewModel <form action="/DepositDetails/Send" method="post"> <input id="walletAddress" type="text" name="walletAddress" />

我想使用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>

请帮助:)

您的代码有太多错误,我不知道从哪里开始

  • 您不会使用
    ActionLink
    将模型发回控制器。您应该在表单中使用submit按钮将其提交到服务器(控制器)
  • 使用Html帮助程序而不是Html标记
  • ViewModel应位于ViewModels文件夹和命名空间下,而不是控制器下
  • 如果您想随模型一起提交其他数据, 您应该将它们作为属性添加到视图模型中
  • 以下是您的视图的外观:

    @model BitcoinRedeemPage.ViewModels.BitcoinTransactionViewModel
    
    @using(Html.BeginForm("Send", "DepositDetails"))
    {
        @Html.TextBoxFor(model => model.WallterAddress)
    
        <input type="submit" name="submit" value="Submit" />
    }
    

    你的代码有太多错误,我不知道从哪里开始

  • 您不会使用
    ActionLink
    将模型发回控制器。您应该在表单中使用submit按钮将其提交到服务器(控制器)
  • 使用Html帮助程序而不是Html标记
  • ViewModel应位于ViewModels文件夹和命名空间下,而不是控制器下
  • 如果您想随模型一起提交其他数据, 您应该将它们作为属性添加到视图模型中
  • 以下是您的视图的外观:

    @model BitcoinRedeemPage.ViewModels.BitcoinTransactionViewModel
    
    @using(Html.BeginForm("Send", "DepositDetails"))
    {
        @Html.TextBoxFor(model => model.WallterAddress)
    
        <input type="submit" name="submit" value="Submit" />
    }
    

    你需要在链接中而不是在常规表单字段中传递整个模型,这有什么特别的原因吗?是的,因为如果在服务器端验证过程中失败,我需要将其传回,你不需要将其填充到链接中,你只需要让事情变得更加复杂。你接受了@ataravati的答案,显然你正在计划改变你的方法。你有什么特别的原因需要在链接中而不是在常规表单字段中传递整个模型吗?是的,因为如果在服务器端验证过程中失败,我需要将其传回。你不需要将其填入链接中,你只需要事情对你自己来说要复杂得多。你接受了@ataravati的答案,显然你正在计划改变你的方法。谢谢,有没有办法查看这些助手的代码?我希望对代码有更多的控制,而不是与基础设施捆绑在一起。如果您想了解帮助人员正在做什么,可以下载MVC源代码。在这里您可以找到源代码:整个viewmodel没有被发送回控制器。。。我是否需要添加包含viewmodel属性的隐藏字段以使其正常工作?我已取消选中您的答案,因为现在提交表单时控制器无法获取整个viewmodel。我遗漏了什么吗?谢谢,有没有办法查看那些助手的代码?我希望对代码有更多的控制,而不是与基础设施捆绑在一起。如果您想了解帮助人员正在做什么,可以下载MVC源代码。在这里您可以找到源代码:整个viewmodel没有被发送回控制器。。。我是否需要添加包含viewmodel属性的隐藏字段以使其正常工作?我已取消选中您的答案,因为现在提交表单时控制器无法获取整个viewmodel。我错过什么了吗?
    [HttpPost]
    public ActionResult Send(BitcoinTransactionViewModel transaction)
    {
    }