Unable to pass more than 1 parameter using @Url.Action
我正在尝试使用@ Url.Action方法传递用户名和密码,但它仅传递一个参数,第二个参数为null。 我尝试了所有替代方法,均未成功。 我也尝试传递没有成功的类类型的对象。 这是一个简短的示例代码:
1 2 3 4 5 6 7 8 9 10 11 12 | string User = ViewBag.Username; string Pass = ViewBag.Pass; case"CHANGE_NEXT_LOGON": <script type="text/javascript"> BootstrapDialog.show({ title: 'Change Password', message: $('').load('@Url.Action("PasswordChange","UserPassword", new { Username = User, Password = Pass})'), type: BootstrapDialog.TYPE_PRIMARY }); break; |
我正在使用boostrap对话框插件来生成模式弹出窗口以进行验证。 但是与
谢谢!
我找到了解决方案。 问题在于,由于您在Jquery.Load()方法中传递@ Url.Action,因此返回的URL出现了问题。 @ Url.Action返回url中的&编码,因此要解决此问题,您必须将整个方法封装在@ Html.Raw(@ Url.Action)中,然后它将起作用。
这个
1 | '@Url.Action("PasswordChange","UserPassword", new { Username, User, Password = Pass})' |
应该是这样的
1 | '@Url.Action("PasswordChange","UserPassword", new { Username = User, Password = Pass})' |
您在对象初始值设定项中输入了错误的类型。
就我而言,我可以在View中使用剃刀语法(.cshtml)通过具有输入,按钮或元素的post / get方法将多达5个参数传递给Controller。 但是由于未知的原因,自昨天以来,尽管我使用了相同的语法,但我未能传递输入元素的第三个参数。 它的第三个参数值自动更改为" formaction"。