无法使用@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。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"。