未能在运行时获取响应

本文关键字:获取 响应 运行时 | 更新日期: 2023-09-27 18:23:37

我制作了一个web表单,它有一个表,其中一列从数据库中获取值,另一列包含每个记录的按钮。

<table style="width: 44%;">
    <thead>
        <tr>
            <td>
                <b>User Name</b>
            </td>
            <td>
                <b>Approval</b>
            </td>
        </tr>
    </thead>
    <tbody>
        <% for (i = 0; i < admin_dd.Rows.Count; i++)
           {%>
        <tr id="raw_<%=i %>">
            <td>
                <%=admin_dd.Rows[i][0]%>
            </td>
            <td>
                <% pos = Int32.Parse(admin_dd.Rows[i][1].ToString());
                %>
                <input type="button" onclick="" value="button" onclick="approve_func(pos)"/>
            </td>
        </tr>
        <% } %>
    </tbody>
</table>

我在这里想要的是,我想把"pos"的值发送到按钮处理程序方法,并对数据库进行更改,但我没能做到

protected void approve_func(int id)
    {
           DatabseClass.SetData("update tblUser SET Status=1 where ID=" + id);
           Response.Redirect(Request.RawUrl);
      }

请帮我解决这个问题。

未能在运行时获取响应

您必须在c#:中将方法声明为WebMethod

public static void approve_func(int id)
{
    DatabseClass.SetData("update tblUser SET Status=1 where ID=" + id);
}

并从客户端进行ajax调用:

function update(id) {     
         $.ajax({
         type: "POST",
         url: 'yourpagename.aspx/approve_func',     //add your page name
         data: "{id:id}",
         contentType: "application/json; charset=utf-8",
         dataType: "json",
         success: function () {
            alert('success');
         },
         error: function (e) {
            alert('an error occurred');
         }
     });
 }

但我建议您使用Gridview,而不是这种混乱的方法。你可以简单地谷歌如何使用gridview,你会得到很多有用的链接。