[英]how do I pass a parameter to a javaScript function which comes from the BasePage of my web page, on a click button event?
我有此按钮单击事件:
$('#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函数?
我可以想到的一种方法是,要么将UserId
属性作为cookie传递到HtmlResponse内,否则将在第一次发送页面时返回。
另一种方法是在页面加载时将其传递到Asp.NET标记内。 只需将其添加到页面的“正文”中即可:
<input type="hidden" id="user_id" name="user_id" value="<%= base.UserId.ToString() %>" />
可以传递给函数的唯一对象是事件(在您的情况下为单击)和触发事件的元素(在您的情况下为按钮)。
其他所有内容都必须作为全局变量传递或附加到上述对象。 例如,您可以将userId设置为按钮的属性。
您始终可以创建一个隐藏字段并将其传递给页面,然后读取该值。
或者如果您想通过web方法调用它
[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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.