【问题标题】:Unable to pass more than 1 parameter using @Url.Action无法使用 @Url.Action 传递超过 1 个参数
【发布时间】:2015-11-05 05:02:24
【问题描述】:

我正在尝试使用@Url.Action 方法传递用户名和密码,但它只传递一个参数,第二个参数为空。我已经尝试了所有替代方案,但都没有成功。我也尝试过传递类类型的对象,但没有成功。这是一个简短的示例代码:

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 方法的工作方式似乎不同。有人可以帮帮我吗?

谢谢!

【问题讨论】:

  • 您是否为附加参数定义了路由?默认路由只接受一个(可选 id)。
  • 尝试将@URL.Action 分配给脚本中的(var),然后调试脚本以确保生成的URL
  • @Darren 我没有,我相信你指的是创建一个Route约束什么的?
  • @Ala 页面重定向很好,它甚至发送了一个参数但没有发送第二个参数,这就是问题所在。我认为这不是语法问题,而是传递的参数存在某种问题。
  • 在调试脚本时,是否确保两个参数都有值?

标签: c# asp.net-mvc asp.net-mvc-4 razor


【解决方案1】:

在我的例子中,我可以通过 post/get 方法将最多 5 个参数传递给控制器​​,其中包含输入、按钮或在视图中使用剃刀语法 (.cshtml) 的元素。但不知什么原因,从昨天开始,虽然我使用了相同的语法,但我未能传递输入元素的第三个参数。它的第三个参数值自动更改为“formaction”。

【讨论】:

    【解决方案2】:

    我找到了解决方案。问题是,由于您在 Jquery.Load() 方法中传递 @Url.Action,因此返回的 url 存在问题。 @Url.Action 返回编码在 url 中的 &,因此要解决此问题,您必须将整个方法封装在 @Html.Raw(@Url.Action) 中,它会起作用。

    【讨论】:

      【解决方案3】:

      这个

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

      应该是这样的

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

      您在对象初始化程序中输入错误。

      【讨论】:

      • 嘿!没错……实际代码中不是这样的,看来我在编辑时在这里打错了……对不起
      • @AlexDev4Life 一点问题都没有,伙计。
      猜你喜欢
      • 1970-01-01
      • 2018-12-22
      • 2013-12-02
      • 1970-01-01
      • 2014-05-02
      • 2015-06-18
      • 2013-07-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多