gpt4 book ai didi

javascript - 将变量从 jQuery 传递到 WebMethod(身份验证失败)

转载 作者:行者123 更新时间:2023-11-28 20:10:51 25 4
gpt4 key购买 nike

我在 VS2013 中创建了一个新的 WebForms 应用程序。我没有更改任何内容并创建了一个简单的页面。我想当用户单击按钮时在客户端加载此表

<table id="tblHelpRow">
<thead>
<tr class="title">
<th>F2
</th>
<th>F3
</th>
</tr>
</thead>
<tbody id="helpRowBody">
<%=MyRow %>
</tbody>
</table>
<asp:LinkButton ID="lnkEdit" runat="server" onclick="fnEdit();" />

这是我的脚本代码:

function fnEdit() {
BindGridView();
};
function BindGridView() {
rowid = {rowID:2};
$.ajax({
type: "POST",
url: "Default.aspx/GetRow",
contentType: "application/json; charset=utf-8",
data: param,
dataType: "json",
success: function (data) {
alert(data);
}
});
}

我的代码隐藏中有一个 WebMethod,它将结果存储在公共(public)属性中。 DataSource 我存储在 session 中,但 rowID 我需要从 jquery 传递。

        [WebMethod]
public static string GetRow(int rowID)
{
DataTable dt = (DataTable)HttpContext.Current.Session["SourceData"];
MyRow = "<tr>" +
"<td>" + dt.Rows[rowID]["F2"].ToString() + "</td>" +
"<td>" + dt.Rows[rowID]["F3"].ToString() + "</td>" +
"</tr>";
return "done";
}

但我没有得到任何结果。当我成功设置断点后,出现“身份验证失败”错误,并且该 webmethod 未执行。有什么问题?我没有更改 ant 身份验证设置。

最佳答案

尝试删除 ScriptMethod 属性。您正在指定 POST 操作类型,但我相信 ScriptMethod 强制请求默认为 GET。另外,我相信你的参数需要是一个 JSON 字符串而不仅仅是一个整数:

var param = {rowID:2};
$.ajax({
type: "POST",
url: "Default.aspx/GetRow",
contentType: "application/json; charset=utf-8",
data: JSON.stringify(param),
dataType: "json",
success: function (data) {
alert(data);
}
});

关于javascript - 将变量从 jQuery 传递到 WebMethod(身份验证失败),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19936052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com