我需要将User Guid传递给Ajax函数,但是当我尝试我收到错误时
SyntaxError:标识符在数字文字
之后立即开始
我的Serverside代码
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);
}
});
}
答案 0 :(得分:1)
在函数签名中,您应该具有参数名称。在调用函数时,您应该将guid传递给函数。请参阅以下示例:
<强> MARKUP:强>
<%@ 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>
<强> CODE:强>
使用System;
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
答案 1 :(得分:0)
围绕GetUserId调用包裹引号。
function LoadUserUploadFiles("<%=GetUserID()%>")
我通过谷歌搜索找到了这个答案。在提问之前,始终将搜索引擎作为第一站。