Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.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 如何将actionlink参数传递给控制器MVC 5?_Asp.net Mvc - Fatal编程技术网

Asp.net mvc 如何将actionlink参数传递给控制器MVC 5?

Asp.net mvc 如何将actionlink参数传递给控制器MVC 5?,asp.net-mvc,Asp.net Mvc,如何将NextPrevious值传递给控制器 现在NextPrevious总是为空 [HttpPost] public ActionResult PremiumUserRegistration(PartnersVM partnersVM, string NextPrevious) { if (NextPrevious != null) { } } 视图和.js文件 $('.btnActionNext')。单击(函数(){

如何将
NextPrevious
值传递给控制器

现在
NextPrevious
总是为空

[HttpPost]
    public ActionResult PremiumUserRegistration(PartnersVM partnersVM, string NextPrevious)
    {
        if (NextPrevious != null)
        {
        }
    }
视图和.js文件

$('.btnActionNext')。单击(函数(){
$(this).closest('form')[0].submit();
});  
@Html.ActionLink(“下一步>>,“PremiumUserRegistration”,新建{controller=“UserRegister”},新建{NextPrevious=“value”,@class=“btnActionNext”,onclick=“return false;”})
添加一个隐藏的:

<input type="hidden" name="Action" />
在post操作中,添加
字符串操作

    [HttpPost]
    public ActionResult PremiumUserRegistration(string Action, PartnersVM partnersVM)
    {
        if (Action == "NEXT")
        {
        }
    }
添加一个隐藏的:

<input type="hidden" name="Action" />
在post操作中,添加
字符串操作

    [HttpPost]
    public ActionResult PremiumUserRegistration(string Action, PartnersVM partnersVM)
    {
        if (Action == "NEXT")
        {
        }
    }

如果要提交表单,请将其添加为隐藏字段

@Html.Hidden("NextPrevious", value)
否则,您在ActionLink方法的错误位置输入了“NextPrevious”值。它应该在RouteValue范围内,而不是htmlAttributes范围内。 正确的方法是:

@Html.ActionLink("Next >>", "PremiumUserRegistration", new { controller = "UserRegister", NextPrevious = "value" }, new { @class = "btnActionNext", onclick = "return false;" })

如果要提交表单,请将其添加为隐藏字段

@Html.Hidden("NextPrevious", value)
否则,您在ActionLink方法的错误位置输入了“NextPrevious”值。它应该在RouteValue范围内,而不是htmlAttributes范围内。 正确的方法是:

@Html.ActionLink("Next >>", "PremiumUserRegistration", new { controller = "UserRegister", NextPrevious = "value" }, new { @class = "btnActionNext", onclick = "return false;" })


NextPrevious从何处填充?为什么不将NextPrevious放在partnervm中。如果它在注册表中是必需的,您应该在视图模型中包含它。@ADyson,它是Action方法字符串参数“NextPrevious”,单击此链接按钮时使用。我想从“NextPrevious”参数中获取“值”。会话位于服务器内,无论从哪个设备访问此web应用程序。在保存文件时,您需要导入Newtonsoft.json nuget,序列化对象并保存到希望保存的路径中。当您需要读取时,读取文件,并将其反序列化为对象,并使用itIm进行多页表单方面的项目。我的项目有9个表格部分,10号是一页9个表格的回顾页。我使用session临时存储数据,并将其作为每个用户的文件进行备份。我设计它的方式是提供灵活性和可用性。如果浏览器突然关闭,数据仍会保存到最后一次工作。如果从另一台计算机登录,我可以从服务器上查找用户文件,并将其重新渲染以继续工作。如果有其他更好的解决方案,我不会使用tempdata。NextPrevious从何处填充?为什么不在partnervm中使用NextPrevious呢。如果它在注册表中是必需的,您应该在视图模型中包含它。@ADyson,它是Action方法字符串参数“NextPrevious”,单击此链接按钮时使用。我想从“NextPrevious”参数中获取“值”。会话位于服务器内,无论从哪个设备访问此web应用程序。在保存文件时,您需要导入Newtonsoft.json nuget,序列化对象并保存到希望保存的路径中。当您需要读取时,读取文件,并将其反序列化为对象,并使用itIm进行多页表单方面的项目。我的项目有9个表格部分,10号是一页9个表格的回顾页。我使用session临时存储数据,并将其作为每个用户的文件进行备份。我设计它的方式是提供灵活性和可用性。如果浏览器突然关闭,数据仍会保存到最后一次工作。如果从另一台计算机登录,我可以从服务器上查找用户文件,并将其重新渲染以继续工作。如果有其他更好的解决方案,我不会使用tempdata不需要定义新路由?不,因为它是一个post,并且动作变量来自标准表单元素,不需要定义新路由。在我的应用程序中,我一直在使用这种技术处理类似的事情。然后,他可以从方法中的表单集合中获取动作变量。是吗?那为什么还要使用一个额外的参数呢?我认为再添加一个参数也不会有什么坏处。。。添加另一个参数不会有任何影响,因为这是一个POST,MVC负责提供数据。如果使用单元测试,这是很有用的,因为您可以在不模仿HttpContext的情况下直接传递一个可测试的值。我并不反对这一点,但我很好奇——这是正确的方法吗。运行时将给我所需的值作为有益的参数。但正如您所说的可测试性,提供值是否可能支持可测试性,但它不能保证在实际运行时成功。不需要定义新路由?不,因为它是一个post,并且动作变量来自标准表单元素,所以不需要定义新路由。在我的应用程序中,我一直在使用这种技术处理类似的事情。然后,他可以从方法中的表单集合中获取动作变量。是吗?那为什么还要使用一个额外的参数呢?我认为再添加一个参数也不会有什么坏处。。。添加另一个参数不会有任何影响,因为这是一个POST,MVC负责提供数据。如果使用单元测试,这是很有用的,因为您可以在不模仿HttpContext的情况下直接传递一个可测试的值。我并不反对这一点,但我很好奇——这是正确的方法吗。运行时将给我所需的值作为有益的参数。但正如您所说的可测试性,提供价值可能支持可测试性,但它并不能保证在实际运行时成功。