将服务器端UserGUID传递给客户端Ajax调用

本文关键字:客户端 Ajax 调用 服务器端 UserGUID | 更新日期: 2023-09-27 17:57:55

我需要将用户Guid传递给Ajax函数,但当我尝试时,我得到了错误

SyntaxError:标识符在数字文字之后立即开始

我的服务器端代码

public Guid GetUserID()
{
    Guid currentUserId = (Guid)Membership.GetUser().ProviderUserKey;
    return currentUserId;
}

部分客户端代码

<script>
    $(function () {
        LoadUserUploadFiles();
    });
    id = "<%=GetUserID()%>";
    function LoadUserUploadFiles(id) {
        alert(id);
        var url = '<%= ResolveUrl("/WebMethods.aspx/GetIndividuallyUploadedFiles") %>';
        $.ajax({
            url: url,
            type: "POST",
            data: JSON.stringify({ id: id }),
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            success: function (Result) {
                var html = '<table class="table-hover">';
                html += '<thead>';
                html += '<th>Username</th>';
                html += '<th>Upload Date</th>';
                html += '<th>Download</th>';
                html += '<th></th>';
                html += '</thead>';
                html += '<tbody>';
                $.each(Result.d, function (key, value) {
                    html += '<tr>';
                    html += '<td>' + value.UserName + '</td>';
                    html += '<td>' + value.DateStr + '</td>';
                    html += '<td>' + '<a href="' + value.FilePath + '">Download</a>' + '</td>';
                    html += '<td>' + '<input type="button" value="Delete" onclick="deleteUploadFile(this,' + value.Id + ')" >' + '</td>';
                    html += '</tr>';
                });
                html += '</tbody>';
                html += '</table>';
                $("#uploaddata").html(html);
            },

            error: function (e, x) {
                alert(x.ResponseText);
            }
        });
    }

将服务器端UserGUID传递给客户端Ajax调用

在函数签名中,您应该具有参数名称。调用函数时,应将guid传递给函数。参见以下示例:

标记:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <script>
        // Notice "id" is the parameter name here
        function LoadUserUploadFiles(id){
            alert(id);
        };
    </script>
        <input id="test" type="button" value="test" onclick='LoadUserUploadFiles("<%=GetUserID()%>")' />
    </div>
    </form>
</body>
</html>

代码:

使用系统;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
    }
    public Guid GetUserID()
    {
        Guid currentUserId = (Guid)Membership.GetUser().ProviderUserKey;
        return currentUserId;
    }
}

编辑:你可以这样更改你的代码:

   <script>
        $(function () {
            LoadUserUploadFiles('<%=GetUserID()%>');
            function LoadUserUploadFiles(id) {
                alert(id);
                var url = '<%= ResolveUrl("/WebMethods.aspx/GetIndividuallyUploadedFiles") %>';
                $.ajax({
                //Rest of the code goes here

在GetUserId调用周围加引号。

function LoadUserUploadFiles("<%=GetUserID()%>")

我通过谷歌搜索找到了这个答案。在提问之前,一定要把搜索引擎作为你的第一站。