0

このボタンクリックイベントがあります:

$('#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 + '&notificationId=' + 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 関数に渡すにはどうすればよいですか?

4

3 に答える 3

1

私が考えることができる 1 つの方法はUserId、ページが最初に送信されたときに返される HtmlResponse 内の Cookie としてプロパティを渡すことです。

もう 1 つの方法は、ページの読み込み時に Asp.NET タグ内に渡すことです。これをページの「本文」内に追加するだけです:

<input type="hidden" id="user_id" name="user_id" value="<%= base.UserId.ToString() %>" />
于 2013-08-06T18:02:37.273 に答える
0

関数に渡すことができる唯一のオブジェクトは、イベント(あなたの場合はクリック)とイベントをトリガーした要素(あなたの場合はボタン)です。

それ以外はすべてグローバル変数として渡すか、上記のオブジェクトにアタッチする必要があります。たとえば、ボタンの属性として userId を設定できます。

于 2013-08-06T18:04:10.713 に答える