我正在尝试使用@ 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
方法似乎没有相同的方法。有人可以帮我一把吗?
谢谢!
答案 0 :(得分:2)
这个
'@Url.Action("PasswordChange", "UserPassword", new { Username, User, Password = Pass})'
应该是这样的
'@Url.Action("PasswordChange", "UserPassword", new { Username = User, Password = Pass})'
对象初始化程序中有错误类型。
答案 1 :(得分:2)
我找到了解决方法。问题是,由于您在Jquery.Load()方法中传递@ Url.Action,因此返回的URL存在问题。 @ Url.Action返回&amp;在url中进行编码以便解决此问题,你必须将整个方法封装在@ Html.Raw(@ Url.Action)中,它才能正常工作。
答案 2 :(得分:0)
在我的情况下,我可以使用输入,按钮或使用视图中的razor语法(.cshtml)的元素通过post / get方法向控制器传递最多5个参数。但由于未知的原因,从昨天开始,虽然我使用相同的语法,但我未能传递输入元素的第三个参数。它的第三个参数值改为&#34;形成&#34;自动。