一个简单cms程序中需要判断对数据库的操作是否成功,并且给出提示结果。目前判断方式采用的是判断数据库返回值。代码实例:
int j=  BLL.MyClass.Class_Add(s);
         if (j==1)
          {
              Server.Transfer("~/Admin/Error.aspx?operation='添加栏目成功'",true);
          }
          else
          { }
提示样式:
    修改栏目成功!
    继续修改此栏目 
    返回管理 现有疑问如下:1:管理员添加/修改,栏目添加/修改,新闻添加/修改等凡是涉及到添加修改的页面的提示都采用了一个页面,Error.aspx。如何保证“修改栏目成功”这句话根据针对不同操作有不同的提示(例如:添加管理员时提示“添加管理员成功”,修改新闻时提示“修改新闻成功”)。
2:“继续修改此栏目”是个超链接,如何保证点击此连接后返回刚才的操作页面。
3:“返回管理”是个超链接,如果是修改,添加栏目,则返回管理返回到栏目列表页面,如果是添加修改管理员,则返回到管理员列表页面,其他类似,这个功能如何做到?高分求教解决办法。

解决方案 »

  1.   

    1.给url多加上一个type//Server.Transfer("~/Admin/Error.aspx?operation='添加栏目成功'",true);
    Server.Transfer("~/Admin/Error.aspx?type=1&operation='添加栏目成功'",true);
    在Error.aspx.cs页面中,根据type的不同,来输出不同的提示信息.2和3同样用上面的方法解决.
      

  2.   

    回2楼的朋友。在error页面中,如何得到传递过来的参数,我用request,vs提示说把属性当方法用了。
      

  3.   

    1.可在ERROR.aspx从当前请求中的UrlReferrer取得上一个页面的ReURL=HttpContext.Current.Request.UrlReferrer.ToString();
    2.如果ERROR.aspx需要提交或刷新当前页,可把ReURL先存到COOKIES或SESSION中;
    3.TRANSFER时再调用出来,根据当前页IF不同的提示信息.
      

  4.   

    传递添加数据的ID号和提示信息参数到页面,在页面通过判断参数实现跳转等功能。
    Request.QueryString[""].ToString()
      

  5.   

    在这个Error.aspx   页面 根据参数判断啊 
       Request.QueryString[""]
      根据这个值 进行相应的操作  
     
      if( Request.QueryString[""]!=null )
      {
       string a= Request.QueryString[""];
       switch(a)
       { 
      case "":
            ..
            break;
    case "":
            ..
            break;
      }
      }
      

  6.   

    //ERROR.aspx代码如下:
    <asp:Label ID="hintText" runat="server"></asp:Label>
    <asp:Label ID="backText" runat="server"></asp:Label>//ERROR.aspx.cs代码:
    protected void Page_Load(object sender, EventArgs e)

        ErrorPage();
    }public static void ErrorPage()
    {
        string operation=HttpContext.Current.Request.QueryString["operation"].ToString().Trim();
        if (operation != null || !operation.Equals(""))
        {
            string ReURL = HttpContext.Current.Request.UrlReferrer.ToString();
            hintText.Text = operation;
            backText.Text = "<a href=" + ReURL + ">返回</a>";
        }
    }
      

  7.   

    回复楼上的朋友们,你们说的办法都不错,但是有一个问题没有解决掉。
    2:“继续修改此栏目”是个超链接,如何保证点击此连接后返回刚才的操作页面。 
    3:“返回管理”是个超链接,如果是修改,添加栏目,则返回管理返回到栏目列表页面,如果是添加修改管理员,则返回到管理员列表页面,其他类似,这个功能如何做到? 第二个问题可以用js脚本实现。可是第三个问题出问题了,Server.Transfer后,页面的连接路径出问题了。我给大家举个例子:
    假设添加栏目页面的路径为:/admin/class/class_add.aspx
    而error页面的路径为:/admin/error.aspx
    在error.aspx页面中增加超链接时,<a href="admin/class/class_list.aspx">返回管理</a>
    解析出来的实际地址是:
    <a href="admin/class/admin/class/class_list.aspx">返回管理</a>
    也就是说相对连接的相对对象是class_add.aspx。而不是真正的error.aspx。求助解决办法。就剩这个问题没解决了,解决完了立刻给分。(注释:不用js脚本实现)
      

  8.   

    直接指定href="admin/error.aspx 
    也不行么?
      

  9.   

    if( Request.QueryString["名称"].ToString()!=null )
    {
       string a= Request.QueryString["名称"];
    }
      

  10.   

    <script>history.go(-1)</script>
      

  11.   

    你可以针对你的操作设置一个enum. 
    如:
    public enum ActionMsg
    {
       操作成功=0,
       操作失败=1
    .......
    }然后在URL : ....aa.aspx?ActionType=0根据ActionType 的不同现实不同的提示信息