繁体   English   中英

使用@ Url.Action无法传递多个参数

[英]Unable to pass more than 1 parameter using @Url.Action

我试图使用@ Url.Action方法传递用户名和密码,但是它仅传递一个参数,第二个参数为null。 我尝试了所有替代方法,均未成功。 我也尝试传递没有成功的类类型的对象。 这是一个简短的示例代码:

string User = ViewBag.Username;
string Pass = ViewBag.Pass;

 case "CHANGE_NEXT_LOGON":
                        <script type="text/javascript">
                            BootstrapDialog.show({
                                title: 'Change Password',
                                message: $('<div></div>').load('@Url.Action("PasswordChange", "UserPassword", new { Username = User, Password = Pass})'),
                                type: BootstrapDialog.TYPE_PRIMARY
                            });
                        </script>
                            break;

我正在使用boostrap对话框插件来生成模式弹出窗口以进行验证。 但是与RedirectToAction方法不同, @Url.Action方法似乎工作方式不同。 有人可以帮我吗?

谢谢!

这个

'@Url.Action("PasswordChange", "UserPassword", new { Username, User, Password = Pass})'

应该是这样的

'@Url.Action("PasswordChange", "UserPassword", new { Username = User, Password = Pass})'

您在对象初始值设定项中输入了错误的类型。

我找到了解决方案。 问题是,由于您在Jquery.Load()方法中传递@ Url.Action,因此返回的URL出现问题。 @ Url.Action返回url中的&编码,因此要解决此问题,您必须将整个方法封装在@ Html.Raw(@ Url.Action)中,然后它将起作用。

就我而言,我可以在View中使用剃刀语法(.cshtml)通过带有输入,按钮或元素的post / get方法将多达5个参数传递给Controller。 但是由于未知的原因,自昨天以来,尽管我使用了相同的语法,但我未能传递输入元素的第三个参数。 它的第三个参数值自动更改为“ formaction”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM