我有这个按钮点击事件:
$('#btnDelete').on('click', function(userId)
{
var treeView = $("#treeview").data("kendoTreeView");
$('#treeview').find('input:checkbox:checked').each(function()
{
var li = $(this).closest(".k-item")[0];
var notificationId = treeView.dataSource.getByUid(li.getAttribute('data-uid')).ID;
$.ajax(
{
url: '../api/notifications/deleteNotification?userId=' + userId + '¬ificationId=' + notificationId,
type: 'DELETE',
success: alert('Delete successful.'),
failure: alert('Delete failed.')
});
});
});
" userId"来自基页:
public class BasePage : System.Web.UI.Page, IRequiresSessionState
{
public int UserId
{
get
{
return T2Identity.UserId;
}
}
}
我如何在按钮的点击事件" btnDelete,"将userId变量传递给我的JavaScript函数?
答案 0 :(得分:1)
我能想到的一种方法是将UserId
属性作为cookie传递给首次发送页面时返回的HtmlResponse。
另一种方法是将其传递到页面加载的Asp.NET标记内。只需将其添加到页面的“正文”中:
<input type="hidden" id="user_id" name="user_id" value="<%= base.UserId.ToString() %>" />
答案 1 :(得分:0)
可以传递给函数的唯一对象是事件(在您的情况下是单击)和触发事件的元素(在您的情况下是按钮)。
其他所有内容必须作为全局变量传递,或附加到上述对象。例如,您可以将userId设置为按钮的属性。
答案 2 :(得分:0)
您始终可以创建隐藏字段并将其传递到您的页面,然后读取值。
或者如果您想从网络方法中调用它
[WebMethod]
public string GetUserId()
{
return UserId.ToString();
}
和javascript
<script type="text/javascript">
function HandleIT() {
PageMethods.GetUserId();
function onSucess(result) {
alert(result);
}
function onError(result) {
alert('Something wrong.');
}
}
</script>