无法使用@Url.Action传递超过1个参数

本文关键字:1个 参数 Action @Url | 更新日期: 2023-09-27 18:07:26

我试图通过用户名和密码使用@Url。动作方法,但它只传递了一个参数,第二个参数为空。我已经尝试了所有的选择,但都没有成功。我还尝试传递类类型的对象,但没有成功。这是一个简短的示例代码:

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;

我使用一个引导对话框插件来生成模态弹出验证。但与RedirectToAction方法不同的是,@Url.Action方法的工作方式似乎不同。有人能帮我一下吗?

谢谢!

无法使用@Url.Action传递超过1个参数

我找到了解决方案。问题是,既然你正在传递@Url。Jquery.Load()方法中的操作表示返回的url有问题。。动作返回&为了解决这个问题,你必须将整个方法封装在@Html.Raw(@Url.Action)中,这样就可以了。

This

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

应该是这样的

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

对象初始化器中类型错误

在我的情况下,我可以通过post/get方法与输入,按钮,或使用razor语法(.cshtml)在视图中的元素传递多达5个参数。但是由于未知的原因,从昨天开始,尽管我使用了相同的语法,但我未能传递输入元素的第三个参数。它的第三个参数值自动更改为"formaction"。