Asp.net mvc 3 使用javascript参数更改按钮单击时的视图
假设我有下面的按钮Asp.net mvc 3 使用javascript参数更改按钮单击时的视图,asp.net-mvc-3,Asp.net Mvc 3,假设我有下面的按钮 <button id="CopyUsersRolesButton" type="button" onclick="CopyUsersRoles()" data-url="@Url.Action("CopyUsersRoles", "Index", new {userId = "0" })"> Copy Users Roles</button> 我需要将javascript变量(SelectedUserId)传
<button id="CopyUsersRolesButton" type="button" onclick="CopyUsersRoles()" data-url="@Url.Action("CopyUsersRoles", "Index", new {userId = "0" })">
Copy Users Roles</button>
我需要将javascript变量(SelectedUserId
)传递给操作
我让它工作的唯一方法是在URL.Action方法中保留一个占位符,并按如下方式替换它:
function CopyUsersRoles() {
var url = $('#CopyUsersRolesButton').data('url');
window.open(url.replace('0', SelectedUserId));
return false;
}
这让我感觉很不舒服,没有更干净的解决方案吗?我目前在html页面上没有表单,希望避免使用输入按钮,因为所有其他按钮都有Jquery UI图标(请参阅)。我认为您做得对,因为您正在向新请求发送javascript变量。如果您不想使用button,那么您可以使用任何HTML控件,因为使用javascript/jquery,您可能会触发将向服务器请求新视图的事件。您可以改为使用
,还是表单在其他地方提交?@AJ我不想使用,因为很遗憾,无法使用jquery UI图标来设置按钮的样式
function CopyUsersRoles() {
var url = $('#CopyUsersRolesButton').data('url');
window.open(url.replace('0', SelectedUserId));
return false;
}