0

说我有以下按钮

<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;
}

这对我来说感觉很hacky,没有更清洁的解决方案吗?我目前在 html 页面上没有表单,并且希望避免使用输入按钮,因为所有其他按钮都有 Jquery UI 图标(请参阅如何将 jQuery UI 按钮图标添加到输入按钮?)。

4

0 回答 0