簡體   English   中英

檢查已更改的事件未觸發

[英]checked changed event not firing

我正在嘗試觸發復選框checkedchanged事件,但似乎無濟於事。 我在下面的代碼中缺少什么嗎? 我認為我已經滿足了所有必要條件。 那么有什么問題呢?

      <asp:UpdatePanel ID="UpdatePanelApprove" runat="server" RenderMode="Inline" UpdateMode="Conditional">
         <ContentTemplate>
          <asp:Label runat="server" ID="LabelApproved" Font-Bold="true" ForeColor="Green"></asp:Label>
          <asp:CheckBox runat="server" ID="CheckBoxApprove" Text="Approve?" OnCheckedChanged="CheckBoxApprove_CheckedChanged" AutoPostBack="True"/>
         </ContentTemplate>
         <Triggers>
              <asp:AsyncPostBackTrigger ControlID ="CheckBoxApprove" EventName="CheckedChanged" />
         </Triggers>
         </asp:UpdatePanel>

在C#中編輯代碼

          protected void CheckBoxApprove_CheckedChanged(object sender, EventArgs e)
{
    CheckBox CheckBoxApprove = (CheckBox)sender;
    GridViewRow row = (GridViewRow)CheckBoxApprove.Parent.Parent.Parent;
    HiddenField HiddenFieldAnswerId = (HiddenField)row.FindControl("HiddenFieldAnswerId");
    HiddenField HiddenFieldExpertId = (HiddenField)row.FindControl("HiddenFieldExpertId");
    Label LabelApproved = (Label)row.FindControl("LabelApproved");
    UpdatePanel UpdatePanelApprove =(UpdatePanel) row.FindControl("UpdatePanelApprove");

    int AnswerSubjectId = AnswerDataAccess.GetSubjectIdForAnswer(Convert.ToInt32(HiddenFieldAnswerId.Value));
    if (!AnswerDataAccess.CheckAnswerApprovalStatus(Convert.ToInt32(HiddenFieldAnswerId.Value)))
    {
        if (AnswerDataAccess.ApproveAnswer(Convert.ToInt32(HiddenFieldAnswerId.Value)))
        {
            if (HiddenFieldExpertId.Value != Membership.GetUser().ProviderUserKey.ToString())
            {
                NotificationsAccess.InsertNotification(AnswerSubjectId, null, Convert.ToInt32(HiddenFieldAnswerId.Value), null, "Approved your answer", new Guid(Membership.GetUser().ProviderUserKey.ToString()), new Guid(HiddenFieldExpertId.Value));
            }
            LabelApproved.Text = "Approved";
        }
    }
    else
    {
        if (AnswerDataAccess.DisapproveAnswer(Convert.ToInt32(HiddenFieldAnswerId.Value)))
        {
            LabelApproved.Text = "";

        }
    }
    UpdatePanelApprove.Update();
}

頁面加載代碼

        protected void Page_Load(object sender, EventArgs e)
     {
    HtmlGenericControl Tabs = (HtmlGenericControl)this.Master.FindControl("divTabs");
    Tabs.Style[HtmlTextWriterStyle.Display] = "block";
    Tabs.Style["border"] = "1px solid #eee";
    Tabs.InnerText = "some text";
    Tabs.Style["font-size"] = "10px";
    if(!IsPostBack )
    {
     DataTable UserS=ProfileDataAccess.GetUserS    (Membership.GetUser().ProviderUserKey.ToString());
     DropDownListS.DataSource=UserS;
     DropDownListS.DataValueField ="SId";
     DropDownListS.DataTextField="Sub";
     DropDownListS.DataBind();
     ListItem item= new ListItem("Select-s", "0");
     item.Selected = true;
     DropDownListS.Items.Add(item);

    }
}

嘗試在復選框控件中嘗試使用此屬性EnableViewState="true"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM