使用javascript参数更改按钮单击视图

时间:2012-09-19 11:45:18

标签: asp.net-mvc-3

说我有以下按钮

<button id="CopyUsersRolesButton" type="button" onclick="CopyUsersRoles()" data-url="@Url.Action("CopyUsersRoles", "Index", new {userId = "0" })">
                  Copy Users Roles</button>   

我想重定向到以下操作返回的视图:

    public ActionResult CopyUsersRoles(int userId)
    {
        var model = new CopyUsersRolesViewModel
        {
            SelectedUserId = userId
        };

        return View(model);
    }

我需要将javascript变量(SelectedUserId)传递给操作。

我使用它的唯一方法是在URL.Action方法中保留占位符并将其替换为如下:

function CopyUsersRoles() {
    var url = $('#CopyUsersRolesButton').data('url');
    window.open(url.replace('0', SelectedUserId));       
    return false;
}

这对我来说非常讨厌,有没有更清洁的解决方案?我目前在html页面上没有表单,并且希望避免使用输入按钮,因为所有其他按钮都有Jquery UI图标(请参阅How to add jQuery UI Button icons to input buttons?)。

0 个答案:

没有答案