C# 如何终止用户并更新当前剩余用户的标签?

C# 如何终止用户并更新当前剩余用户的标签?,c#,asp.net,linq-to-sql,terminate,C#,Asp.net,Linq To Sql,Terminate,我已经创建了成员并将其存储到数据库中。我有一个标签,它统计数据库中存储的所有用户,每次保存时,这些数字都会增加。我还有一个终止按钮,它根据保单编号终止,所以这就是我想要的。终止成员时,它还必须更新标签中的当前成员。例如,Total members=10,当您终止用户时,Total members标签也必须更新为9。我怎么去呢 这就是我到目前为止所做的 加载总成员数 protected void Page_Load(object sender, EventArgs e) { lblTota

我已经创建了成员并将其存储到数据库中。我有一个标签,它统计数据库中存储的所有用户,每次保存时,这些数字都会增加。我还有一个终止按钮,它根据保单编号终止,所以这就是我想要的。终止成员时,它还必须更新标签中的当前成员。例如,Total members=10,当您终止用户时,Total members标签也必须更新为9。我怎么去呢

这就是我到目前为止所做的

加载总成员数

protected void Page_Load(object sender, EventArgs e)
{
    lblTotal.Text = "Total Members Captured : " + CountMembersCaptured();
} 
protected int CountMembersCaptured()
{
    List<SP_COUNTPOLICYMEMBERSResult> _MemberCountList = _dc.SP_COUNTPOLICYMEMBERS().ToList();
    return _MemberCountList.Count();
}
   ALTER PROCEDURE [dbo].[SP_COUNTPOLICYMEMBERS]
   AS
   BEGIN        
   SELECT  [DateID]
  ,[PolicyNumber]
  ,[Name]
  ,[PolicyName]
  ,[InceptionDate]
  ,[Active]   
  FROM [dbo].[tblPolicy]
  END
成员总数的计算方法

protected void Page_Load(object sender, EventArgs e)
{
    lblTotal.Text = "Total Members Captured : " + CountMembersCaptured();
} 
protected int CountMembersCaptured()
{
    List<SP_COUNTPOLICYMEMBERSResult> _MemberCountList = _dc.SP_COUNTPOLICYMEMBERS().ToList();
    return _MemberCountList.Count();
}
   ALTER PROCEDURE [dbo].[SP_COUNTPOLICYMEMBERS]
   AS
   BEGIN        
   SELECT  [DateID]
  ,[PolicyNumber]
  ,[Name]
  ,[PolicyName]
  ,[InceptionDate]
  ,[Active]   
  FROM [dbo].[tblPolicy]
  END
终止按钮

protected void btnTerminate_Click(object sender, EventArgs e)
{

    if (Session["DateID"] != null)
    {
        List<tblPolicy> _PolicyMemberList = _dc.tblPolicies.Where(a => a.DateID == int.Parse(Session["DateID"].ToString())).ToList();

        if (_PolicyMemberList != null)
        {
            if (_PolicyMemberList.Count() > 0)
            {
                foreach (tblPolicy _PolicyMember in _PolicyMemberList)
                {
                    _PolicyMember.Active = false;
                }

                _dc.SubmitChanges();
                lblresults.Text = "Confirmation: Member has been terminated/deleted successfully.!";
            }
        }
    }
}

将Where子句添加到select查询

 ALTER PROCEDURE [dbo].[SP_COUNTPOLICYMEMBERS]
   AS
   BEGIN        
   SELECT  [DateID]
  ,[PolicyNumber]
  ,[Name]
  ,[PolicyName]
  ,[InceptionDate]
  ,[Active]   
  FROM [dbo].[tblPolicy] where Active=1
  END

希望这有助于…

tblPolicy表中活动列的可能值是什么?该值为1,因为它处于活动状态。因此,当您终止它时,禁用它,值将为0。数据类型为活动的bitecolumn@JuniorLinq,请看我的答案。它仍然没有更新标签。它保持不变。我已经照你说的做了。你有什么例外吗?否则,它的代码工作正常。我进行了调试,没有出现任何异常。是的,代码工作正常,因为每次我保存调试用户终止按钮时,它都会更新标签。单击代码是否工作正常。
ALTER PROCEDURE [dbo].[SP_COUNTPOLICYMEMBERS]
AS
BEGIN        
SELECT  [DateID]
,[PolicyNumber]
,[Name]
,[PolicyName]
,[InceptionDate]
,[Active]   
FROM [dbo].[tblPolicy] WHERE [Active]=1
END

protected void btnTerminate_Click(object sender, EventArgs e)
{

if (Session["DateID"] != null)
{
    List<tblPolicy> _PolicyMemberList = _dc.tblPolicies.Where(a => a.DateID == int.Parse(Session["DateID"].ToString())).ToList();

    if (_PolicyMemberList != null)
    {
        if (_PolicyMemberList.Count() > 0)
        {
            foreach (tblPolicy _PolicyMember in _PolicyMemberList)
            {
                _PolicyMember.Active = false;
            }

            _dc.SubmitChanges();
            lblresults.Text = "Confirmation: Member has been terminated/deleted successfully.!";
            lblTotal.Text = "Total Members Captured : " + CountMembersCaptured();
        }
    }
}
}