无法在运行时获得响应

时间:2015-11-20 06:40:12

标签: javascript c# html asp.net

我创建一个包含一个表的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);

      }

请帮助我解决这个问题。

1 个答案:

答案 0 :(得分:0)

您必须在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 ,您就可以获得大量有用的链接。