如果用户打开一个订单,但是没有马上处理,这时这个订单被另一个用户处理了,如果前一个用户再去处理,就不正确了,要如何避免这种情况

解决方案 »

  1.   

    用事务。
    private SqlTransaction _trans=null;
    /// <summary>
    /// 开始一个事务(读锁)
    /// </summary>
    public void BeginTransactionRC()
    {
    if(_conn!=null)
    {
    _trans=_conn.BeginTransaction(IsolationLevel.ReadCommitted);
    }
    }

    /// <summary>
    /// 提交一个事务
    /// </summary>
    public void TransCommit()
    {
    if(_trans!=null)
    {
    try
    {
    _trans.Commit();
    _trans=null;
    }
    catch(Exception ex)
    {
    throw ex;
    }
    }
    }/// <summary>
    /// 回滚一个事务
    /// </summary>
    public void RollBack()
    {
    if(_trans!=null)
    {
    try
    {
    _trans.Rollback();
    _trans=null;
    }
    catch(Exception ex)
    {
    throw ex;
    }
    }
    }
      

  2.   

    说错了,用单引号包着
    <a href='Boards.aspx?asortID=<%# DataBinder.Eval(Container.DataItem,"assortID")%>& assortName=<%# DataBinder.Eval(Container.DataItem,"assortName")%>'>