2017-10-08 5 views
0

次のコードセグメント(ボタンの起動)はデバッグモードでは動作しますが、デバッグモード以外ではこのボタンは機能しません。ブレークポイントでデバッグモードで正常に動作します。デバッグモードを使わずに起動しようとすると、ボタンが機能しません。Asp.netボタンはデバッグモードでのみ起動しますが、他のモードでは起動しません

の.aspxコード

<div class="panel panel-danger"> 
     <div class="panel-heading"> 
      Site Attendance 
     </div> 
     <div class="panel-body"> 
      <asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
       <ContentTemplate> 
        <div class="container-fluid"> 
         <table> 
          <tr> 
           <td> 
            <asp:DropDownList ID="ddlProjects" runat="server" AutoPostBack="true"></asp:DropDownList> 
           </td> 
          </tr>       
          <tr> 
           <td> 
            <asp:Button ID="btnPunch" Enabled="true" runat="server" Text="Punch" OnClick="btnPunch_Click" CausesValidation="false" /> 
           </td> 
          </tr> 
         </table> 
        </div> 
       </ContentTemplate> 
      </asp:UpdatePanel> 
     </div> 
    </div> 

とは.csコード

protected void btnPunch_Click(object sender, EventArgs e) 
    { 
     GeoCoordinateWatcher watcher = new GeoCoordinateWatcher(); 
     watcher.TryStart(false, TimeSpan.FromMilliseconds(1000)); 
     GeoCoordinate coord = watcher.Position.Location; 
     double la = coord.Latitude; 
     double lo = coord.Longitude; 

     string userName = null; 
     if (User.Identity.IsAuthenticated) 
      userName = User.Identity.Name; 

     List<AppUsers> list = UsersManager.GetByUserName(userName); 
     int employeeId = list[0].UserId; 

     SitePunch obj = new SitePunch(); 

     try 
     { 
      if (la != 0 && lo != 0) 
      { 
       obj.Employee_ID = Convert.ToInt32(employeeId); 
       obj.Latitude = Convert.ToDecimal(la); 
       obj.Longitude = Convert.ToDecimal(lo); 
       obj.Project_Name = Convert.ToString(ddlProjects.SelectedValue); 

       int sitePunchInsert = SitePunchManager.Insert(obj); 

       if (sitePunchInsert != 0) 
       { 
        ShowMessage("Your Punch is Successful"); 
       } 
      } 
      else 
      { 
       ShowMessage("Please Select a Project First"); 
      } 

     } 

     catch (Exception ex) 
     { } 
    } 

この問題を解決する方法。前もって感謝します。 「Conditional」は、その後にaboive設定が機能しない場合、あなたはtrueにChildrenAsTriggersを設定しようとすると、=「クリック」EVENTNAMEを追加することができます

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional"> 
     <Triggers> 
      <asp:AsyncPostBackTrigger ControlID="btnPunch" EventName="Click"> 
      </asp:AsyncPostBackTrigger> 
     </Triggers> 
    </asp:UpdatePanel> 

を正しいトリガーを追加するのUpdatePanelでUpdateMode属性を設定

答えて

1

試してみますasp:AsyncPostBackTrigger

+0

私はあなたの提案を試みましたが、それでも動作しません。 – Khaza

+0

両方のソリューションを試しましたか? –

+0

はい私は両方を試みました。基本的に私は何が問題なのか分かりません。私はあなたのを含むすべての可能な解決策を試みたが、それは動作しません – Khaza

関連する問題