[英]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.