问个问题 请高人解答,本人是菜鸟,请详细一点。谢谢了。
一条信息 如果是登陆这个人发布的 就可以删除 如果不是登陆这个人发布的则不让删除 弹出提示框
我用AJAX
代码如下 信息列表页面
  <script language="JavaScript" type="text/jscript">
        function comeBack(pID,title)
        {
            if(confirm("您确定将<"+title+">撤项吗?"))
            {
                CheckUser(pID)
            }
        }
        
        var xmlHttp = null;
        function CheckUser(uid)
        {
            try
            {
                xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch(err1)
            {
                try
                {
                    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
                }
                catch(err2)
                {
                    xmlHttp = new XMLHttpRequest();
                }
            }
            var url = "test.aspx?id=" + uid;
            xmlHttp.open("GET",url,true);
            xmlHttp.onreadystatechange = OnHandler;
            xmlHttp.send(null);
        }
        function OnHandler()
        {
            if(xmlHttp.readyState == 4)
            {
                var isValid = xmlHttp.responseText;
                alert(isValid.substring(0,20));
                            }
        }
  </script>
                <asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
        <table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="b5d6e6" onmouseover="changeto()"  onmouseout="changeback()">
          <tr>
            <th width="30%"  background="images/tab/bg.gif" bgcolor="#FFFFFF" style="height: 22px;"><div align="center"><span class="STYLE1">项目名称</span></div></th>
            <th width="10%" background="images/tab/bg.gif" bgcolor="#FFFFFF" style="height: 22px"><div align="center"><span class="STYLE1">项目类型</span></div></th>
            <th width="15%" background="images/tab/bg.gif" bgcolor="#FFFFFF" style="height: 22px"><div align="center"><span class="STYLE1">建项时间</span></div></th>
            <th width="10%" background="images/tab/bg.gif" bgcolor="#FFFFFF" style="height: 22px"><div align="center"><span class="STYLE1">建项人</span></div></th>
            <th width="8%" background="images/tab/bg.gif" bgcolor="#FFFFFF" style="height: 22px"><div align="center"><span class="STYLE1">项目状态</span></div></th>
            <th width="8%" background="images/tab/bg.gif" bgcolor="#FFFFFF" style="height: 22px"><div align="center"><span class="STYLE1">抽取情况</span></div></th>
            <th width="18%" background="images/tab/bg.gif" bgcolor="#FFFFFF" style="height: 22px"><div align="center"><span class="STYLE1">基本操作</span></div></th>
          </tr>
          </HeaderTemplate>
      <ItemTemplate>
          <tr>
            <td bgcolor="#FFFFFF" style="height: 20px"><div align="center"><span class="STYLE1"><%# Convert.ToString(Eval("pName"))%></span></div></td>
            <td bgcolor="#FFFFFF" style="height: 20px"><div align="center"><span class="STYLE1"><%# Convert.ToString(Eval("pt.tName"))%></span></div></td>
            <td bgcolor="#FFFFFF" style="height: 20px"><div align="center"><span class="STYLE1"><%# Convert.ToDateTime(Eval("pDate"))%></span></div></td>
                        <td bgcolor="#FFFFFF" style="height: 20px"><div align="center"><span class="STYLE1"><%# Convert.ToString(Eval("user.uName"))%></span></div></td>
            <td bgcolor="#FFFFFF" style="height: 20px"><div align="center"><span class="STYLE1"><%# getState(Convert.ToInt32(Eval("pState")))%></span></div></td>
            <td bgcolor="#FFFFFF" style="height: 20px"><div align="center"><span class="STYLE1"><%# isDraw(Convert.ToBoolean(Eval("pDraw")))%></span></div></td>
            <td bgcolor="#FFFFFF" style="height: 20px"><div align="center"><span class="STYLE1">
                    <a href="javascript:CheckUser('<%# Eval("pID") %>')"><img alt="撤项" src="../images/tab/del.gif" width="16" height="16" />撤项&nbsp; &nbsp;</a>
            </td>
          </tr>
         </ItemTemplate>  
    <FooterTemplate>
    </table>
</FooterTemplate>
</asp:Repeater>在我点扯项的时候 跳转到test.aspx页判断是否是登陆人发布的项目 然后返回结果 
下面是test.aspx.cs的代码    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            //获得本项目的ID
            int id = Convert.ToInt32(Request.QueryString["id"]);
            int count = 0;
            //判断是否已经撤项            //获得用户ID
            if (Session["userid"] != null)
            {//此方法是判断是否可以撤销项目 大于0则可以撤销
                count = t_Project_Service.GetIsProjectCancel(id, Convert.ToInt32(Session["userid"].ToString()));
            }
            else { Response.Redirect("/Login.aspx"); }
            
            if (count > 0)
            {
                //此处代码为撤销项目 修改数据库 返回影响的行数
                int i = t_Project_Service.UpdateProjectState(id, 2);
                if (i > 0)
                {
                    Response.Write("   项目撤项成功!       ");
                }
                else { Response.Write("对不起!项目撤销失败,请联系系统管理员。"); }
            }
            else
            {
                Response.Write("对不起!您不是项目创建人不能撤销此项目!");
            }
        }
    } 
现在的问题来了 操作都没有问题 不论什么结果都能返回相应的信息 并弹出提示框
但是如果可以撤项 数据也改了 扯项成功的对话框也弹出来了 但是页面没有反应 还得刷新一下 才能看到数据修改过来了 
我现在就是不知道怎么在修改数据库成功以后再刷新一下界面
请高人指点  不要太深奥 也别将什么原理了  因为我真的不懂  就简简单单的告诉我该怎么做,详细一点,最好能有代码,
再次由衷的感谢,我是在初级阶段。

解决方案 »

  1.   

     if(confirm("您确定将<"+title+">撤项吗?"))
                {
                    CheckUser(pID)
                }加个判断即可
      

  2.   

    <asp:Repeater ID="Repeater1" runat="server">
    绑定数据在哪里 重新再绑定一下就ok了啊 
      

  3.   

      这样一时说不清楚  86594082 你加这QQ高级群讨论一下,里面有对ajax熟习的
      

  4.   

    或者你在Js返回成功后在OnHandler里面重新调用下绑定reapter的方法。
      

  5.   

    不懂装懂的来说一下吧,你现在后台是对的,好了,你的问题在哪里。在你的页面数据显示不对。
    alert(isValid.substring(0,20));
    这里,你应该判一下返回值是什么,也就是你在后台write的值了。
    常规办法是判断后使用js对成功与不成功的返回值来操作页面的静页html,现在问题来了,你的页面使用了Repeater,得写js来做对repeater转为的那个大table的移除行操作,这你会了就可以做了。
      

  6.   

    不常规的办法就是在alert(isValid.substring(0,20));后面loaction.href一下你的页面,会刷新,那你前面做的ajax还不如不做。另外一个办法,适合你这样的人,就是微软的ajax组件,把想做成无刷的放到ajax组件中就可以了。
      

  7.   

    其实刷新很简单的
    alert(isValid.substring(0,20));
    window.location.reload();但是如果要刷新的话 你就失去了用ajax的意义了