ScriptManager.RegisterClientScriptBlock仅在调试时正常工作

问题描述 投票:0回答:1

使用RegisterClientScriptBlock我没有问题显示警告警告但在我关闭弹出窗口后绑定变得非常混乱。奇怪的是,当我尝试调试它并使用F10时,绑定是可以的。这是一个代码隐藏方法:

protected void lvContratFonds_OnItemDeleting(object source, ListViewDeleteEventArgs e) 
{
    try
    {
        ListView lv = (ListView)source;

        int contratId = int.Parse(((HiddenField)lv.Parent.FindControl("hdnContratId")).Value);
        int anneeFiscaleId = int.Parse(((HiddenField)lv.Items[e.ItemIndex].FindControl("hdnAnneeFiscaleId")).Value);
        int contratFondId = int.Parse(((HiddenField)lv.Items[e.ItemIndex].FindControl("hdnContratFondId")).Value);
        ImageButton lnkSupprimerContratFonds = (ImageButton)lv.Items[e.ItemIndex].FindControl("lnkSupprimerContratFonds");

        string errMsg = String.Empty;
        errMsg = ContratFondBLL.DeleteSingleContratFond(contratFondId, ((PageProjet)Page).ProjetId); 
        if (errMsg.Length == 0)
        {
            ContratsFondsTransBLL.DeleteAllContratFondTransByContratId(contratFondId, ((PageProjet)Page).ProjetId);
                       }
        else
        {
            ScriptManager.RegisterClientScriptBlock(this, typeof(Page), "ClientScript", "alert('" + Resources.GPWebResource.errContratFondDelete.ToString() + "')", true);

        }
        bindContrats();
    }
    catch(Exception ex)
    {
        throw (ex);
    }
}

    <LayoutTemplate>
        <div class="wideContainer">
            <asp:Literal ID="ltlOrphanWarning" runat="server" Text="OrphanWarning"></asp:Literal>
            <asp:PlaceHolder runat="server" ID="itemPlaceHolder" />
            <div class="contentDiv">
                <asp:LinkButton CssClass="showbtn" ID="btnAjoutContrat" runat="server" Text="AjouterContratAddContract" OnClick="btnAjouterContrat_Click" Visible="false" />
            </div>
        </div>
    </LayoutTemplate>

   <ItemTemplate>
    <div class="wideContainer">
        <div class="contentDiv">
            <asp:HiddenField ID="hdnContratId" runat="server" Value='("ContratId") ' />
            <div class="titleCellContrats smallCell"><asp:literal ID="ltlContratNum" runat="server" Text="ContratNum"/></div>
            <div class="titleCellContrats largeCell"><asp:literal ID="ltlType" runat="server" Text="Type"/></div>
            <div class="titleCellContrats mediumCell"><asp:literal ID="ltlDateDND8" runat="server" Text="DateDND8"/></div>
            <div class="titleCellContrats mediumCell"><asp:literal ID="ltlDtOctroi" runat="server" Text="ApprovalDateOctroi"/></div>
            <div class="titleCellContrats mediumCell"><asp:literal ID="ltlFundsTot" runat="server"  Text="ValContratTotal"/></div>
            <div class="modCellTitle">&nbsp;</div>
        </div>
        <div class="contentDiv">
            <div class="contentCellContrats smallCell"><asp:Literal ID="numeroContrat" runat="server"/></div>
            <div class="contentCellContrats largeCell boldText"><asp:Literal ID="typeContrat" runat="server" /></div>
            <div class="contentCellContrats mediumCell"><asp:Literal ID="dateDND8" runat="server" /></div>
            <div class="contentCellContrats mediumCell">
                <asp:Literal ID="dateOctroi" runat="server"/>
                <asp:CheckBox ID="chkbxOctroi" runat="server" AutoPostBack="false" Enabled="false"  />
            </div>
            <div class="contentCellContrats mediumCell"><asp:Literal ID="ltlTotal" runat="server"/></div>
            <div class="modCellContrats">
                <asp:ImageButton ID="btnModifierContrat" runat="server" Tooltip="ModifierModify" ImageUrl="~/WebUI/images/icones/edit_16x16.gif" CommandName="Edit" Visible="false" />
                <asp:ImageButton ID="btnDeleteContrat" runat="server" Tooltip="Supprimer" ImageUrl="~/WebUI/images/icones/delete_16x16.gif" CommandName="Delete"  OnClientClick="SuppContratDeleteContract" Visible="false"/>
            </div>
        </div>

        <div class="contentDiv">
            <asp:Literal ID="ltlCommentaires" runat="server"/>
        </div>

        <div class="contentDiv">
            <div class="titleCellContrats Fonds">
                <div class="alLeft"><asp:literal ID="ltlfunds" runat="server"  Text="ValContrat"/></div>
                <div class="alRight smText"><asp:LinkButton ID="lnkAjouterContratFond" runat="server" Text="AjoutEF" OnClick="lnkAjouterContratFond_Click" Visible="false"/></div>
            </div>
               <asp:ListView 
                    ID="lvContratFonds" runat="server" 
                    InsertItemPosition="None" 
                    OnItemDataBound="lvContratFonds_OnItemDataBound" 
                    ItemPlaceholderID="afficherFonds"  
                    OnItemEditing="lvContratFonds_OnItemEditing" 
                    OnItemUpdating="lvContratFonds_OnItemUpdating" 
                    OnItemCanceling="lvContratFonds_OnItemCanceling" 
                    OnItemDeleting="lvContratFonds_OnItemDeleting" 
                    OnItemInserting="lvContratFonds_OnItemInserting" 
                    OnItemCreated="lvContratFonds_OnItemCreated" >
                    <LayoutTemplate>
                        <asp:PlaceHolder runat="server" ID="afficherFonds" />
                    </LayoutTemplate>

                    <ItemTemplate>
                        <div class="contentDiv">
                            <div class="contFondsRows">
                                <div class="contentCellContrats ContFonds"><asp:Literal ID="lblAnneeFiscaleEF" runat="server" /></div>
                                <div class="contentCellContrats ContFonds"><asp:Literal ID="lblFondsContrat" runat="server" /></div>
                                <div class="contentCellContrats ContFonds">
                                    <strong><asp:Literal ID="ltlDeltaTitle" runat="server" Text="Delta" />:</strong>
                                    <asp:Literal ID="ltlContratFondDelta" runat="server" />
                                </div>
                                <div class="modCellCntrFonds">
                                    <asp:ImageButton class="smText" ID="btnModifierContratFonds" runat="server" Tooltip="ModifierModify" ImageUrl="~/WebUI/images/icones/edit_16x16.gif" Height="10" Width="10" CommandName="Edit" Visible="false" />
                                    <asp:ImageButton 
                                        class="smText" 
                                        ID="lnkSupprimerContratFonds" 
                                        runat="server" 
                                        Tooltip="Supprimer" 
                                        ImageUrl="~/WebUI/images/icones/delete_16x16.gif" 
                                        Height="10" 
                                        Width="10" 
                                        CommandName="Delete" 
                                        OnClientClick="SuppFondsDeleteFunds" 
                                        Visible="false"/>
                                    <asp:HiddenField ID="hdnContratFondId" runat="server" Value='("ContratFondId") ' />
                                    <asp:HiddenField ID="hdnContratId" runat="server" Value='("ContratId") ' />
                                    <asp:HiddenField ID="hdnAnneeFiscaleId" runat="server" Value='("AnneeFiscaleId") ' />
                                    <asp:HiddenField ID="hdnEF" runat="server" Value='("efID") ' />
                                </div>
                            </div>
                        </div>
                    </ItemTemplate>
                   <EditItemTemplate>
                        <div class="contentDiv">
                            <asp:HiddenField ID="hdnEditTemplate" runat="server" Value='True' />
                            <div class="contFondsRows">
                                <div class="contentCellContrats ContFonds"><asp:DropDownList ID="ddlEF_AF_Prog" runat="server" DataTextField="DisplayField" DataValueField="EF_ID" OnSelectedIndexChanged="ddlEF_Changed" AutoPostBack="true" AppendDataBoundItems="false"></asp:DropDownList></div>
                                <div class="contentCellContrats ContFonds"><asp:TextBox ID="txtFondsContrat" runat="server"></asp:TextBox> $</div>
                                <div class="contentCellContrats ContFonds">
                                    <strong><asp:Literal ID="ltlDeltaTitle" runat="server" Text="Delta" />:</strong>
                                    <asp:Literal ID="ltlContratFondDelta" runat="server" />
                                </div>
                                <div class="modCellCntrFonds">
                                    <asp:ImageButton 
                                        class="smText" 
                                        ID="btnEnregistrerContratFonds" 
                                        runat="server" 
                                        Tooltip="EnregistrerRegister" 
                                        ImageUrl="~/WebUI/images/icones/save_16x16.gif" 
                                        Height="12" 
                                        Width="12" 
                                        CommandName="Update" />
                                    <asp:ImageButton class="smText" ID="btnAnnulerContratFonds" runat="server" Tooltip="Cancel" ImageUrl="~/WebUI/images/icones/undo1_16x16.gif" Height="12" Width="12" CommandName="Cancel" CausesValidation="false"/>
                                    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="FondMontantObligAmntReqd" Display="Dynamic" ControlToValidate="txtFondsContrat" />
                                    <asp:CompareValidator id="CheckFormat1" runat="server" ControlToValidate="txtFondsContrat" Operator="DataTypeCheck" Type="Currency"  Display="Dynamic" ErrorMessage="InvalidCurrency" />

                                    <asp:HiddenField ID="hdnContratFondId" runat="server" Value='("ContratFondId") ' />
                                    <asp:HiddenField ID="hdnContratId" runat="server" Value='("ContratId") ' />
                                    <asp:HiddenField ID="hdnAnneeFiscaleId" runat="server" Value='("AnneeFiscaleId") ' />
                                    <asp:HiddenField ID="hdnEF" runat="server" Value='("efID") ' />
                                </div>
                            </div>
                        </div>
                        <div id="transPanel" class="contentDiv" runat="server">                                
                            <asp:UpdatePanel ID="updPnlTransactions" runat="server"> 
                                <ContentTemplate>
                                    <uc2:FMASTransControl ID="uc2FMASTransControl" runat="server" ContratMode="true"  />
                                </ContentTemplate>
                            </asp:UpdatePanel>
                       </div>

                    </EditItemTemplate>
                   <InsertItemTemplate>
                        <div class="contentDiv">
                            <div class="contFondsRows">
                                <div class="contentCellContrats ContFonds"><asp:DropDownList ID="ddlEF_AF_Prog" runat="server" DataTextField="DisplayField" DataValueField="EF_ID" AutoPostBack="true" AppendDataBoundItems="false"></asp:DropDownList></div>
                                <div class="contentCellContrats ContFonds"><asp:TextBox ID="txtFondsContrat" runat="server"></asp:TextBox> $</div>
                                <div class="contentCellContrats ContFonds">
                                    <strong><asp:Literal ID="ltlDeltaTitle" runat="server" Text="Delta" />:</strong>
                                    <asp:Literal ID="ltlContratFondDelta" runat="server"  Text="AD_InfoNA" />
                                </div>
                                <div class="modCellCntrFonds">
                                    <asp:ImageButton ID="btnAjouterCF" runat="server" ClientIDMode="Static" Tooltip="EnregistrerRegister" ImageUrl="~/WebUI/images/icones/save_16x16.gif" Height="12" Width="12" CommandName="Insert" ValidationGroup="insertFondGroup"/>
                                    <asp:ImageButton ID="btnAnnulerCF" runat="server" Tooltip="Cancel" ImageUrl="~/WebUI/images/icones/undo1_16x16.gif" Height="12" Width="12" OnClick="btnAnnulerCF_Click" CausesValidation="false" />

                                    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="FondMontantObligAmntReqd" Display="Dynamic" ControlToValidate="txtFondsContrat" ValidationGroup="insertFondGroup" />
                                    <asp:CompareValidator id="CheckFormat1" runat="server" ControlToValidate="txtFondsContrat" Operator="DataTypeCheck" Type="Currency"  Display="Dynamic" ErrorMessage="InvalidCurrency" />

                                    <asp:HiddenField ID="hdnContratId" runat="server" Value='("ContratId") ' />
                                </div>
                            </div>
                        </div>
                    </InsertItemTemplate>

                </asp:ListView>

            </div>

        <div class="contentDiv">&nbsp;</div>
    </div>
    </ItemTemplate>
    <EditItemTemplate>
    <div class="wideContainer">
        <asp:HiddenField ID="hdnContratId" runat="server" Value='("ContratId") ' />
        <asp:HiddenField ID="hdnEditTemplate" runat="server" Value='True' />    
        <div class="contentDiv">
            <div class="titleCellContrats smallCell"><asp:literal ID="ltlContratNum" runat="server" Text="ContratNum"/></div>
            <div class="titleCellContrats largeCell"><asp:literal ID="ltlType" runat="server" Text="Type"/></div>
            <div class="titleCellContrats mediumCell"><asp:literal ID="ltlDateDND8" runat="server" Text="DateDND8"/></div>
            <div class="titleCellContrats mediumCell"><asp:literal ID="ltlDtOctroi" runat="server" Text="ApprovalDateOctroi"/></div>
            <div class="titleCellContrats mediumCell"><asp:literal ID="ltlFundsTot" runat="server"  Text="Delta"/></div>
            <div class="modCellTitle">&nbsp;</div>
        </div>
        <div class="contentDiv">
            <div class="contentCellContrats smallCell"><asp:TextBox ID="txtContrat" runat="server" MaxLength="8"></asp:TextBox></div>
            <div class="contentCellContrats largeCell">
                <asp:DropDownList ID="ddlTypeContrat" runat="server" DataTextField="NomChampFieldNm" DataValueField="TypeContratId"></asp:DropDownList>
            </div>
            <div class="contentCellContrats mediumCell"><uc1:DateControl ID="dateDND8" runat="server" /></div>
            <div class="contentCellContrats mediumCell">
                <uc1:DateControl ID="dateOctroi" runat="server"/> 
                <asp:CompareValidator ID="cmpOctroiAfterDND8" runat="server" ControlToCompare="dateDND8$txtDate" ControlToValidate="dateOctroi$txtDate" 
                ErrorMessage="ErrDateOctroi " Type="Date" Operator="GreaterThanEqual" ToolTip="ErrEndDate ">*</asp:CompareValidator>
                <asp:CheckBox ID="chkbxOctroi" runat="server" AutoPostBack="false" onclick="GetTodayDateForOctroi();"  />
            </div>
            <div class="contentCellContrats mediumCell"><asp:Literal ID="ltlTotal" runat="server" Text="" /></div>
            <div class="modCellContrats">
                <asp:ImageButton ID="btnEnregistrerContrat" runat="server" Tooltip="EnregistrerRegister" ImageUrl="~/WebUI/images/icones/save_16x16.gif" CommandArgument='("ContratId") ' CommandName="Update" />
                <asp:ImageButton ID="btnAnnulerContrat" runat="server" Tooltip="Cancel" ImageUrl="~/WebUI/images/icones/undo1_16x16.gif" CommandArgument='("ContratId") ' CommandName="Cancel" />
            </div>
        </div>

        <div class="contentDiv paleBackground <%# Container.DisplayIndex % 2 == 0 ? "" : "altRow"  bordered">
            <asp:TextBox ID="txtCommentairesContrats" runat="server" Width="100%" MaxLength="250"></asp:TextBox>
            <ajx:TextBoxWatermarkExtender ID="tbweCommentairesContrats" runat="server" TargetControlID="txtCommentairesContrats" WatermarkText=" tbweCommentContats" WatermarkCssClass="watermarked" />
        </div>
       <div class="contentDiv">
            <div class="titleCellContrats Fonds">
                <div class="alLeft"><asp:literal ID="ltlfunds" runat="server"  Text="ValContrat"/></div>
                <div class="alRight"><asp:LinkButton class="smText" ID="lnkAjouterContratFond" runat="server" Text="<%$Resources:GPWebResource,AjoutEF" OnClick="lnkAjouterContratFond_Click" Visible="false"/></div>
            </div>
            <asp:ListView 
                ID="lvContratFonds" 
                runat="server" 
                InsertItemPosition="None" 
                OnItemDataBound="lvContratFonds_OnItemDataBound" 
                ItemPlaceholderID="afficherFonds2"  
                OnItemEditing="lvContratFonds_OnItemEditing" 
                OnItemUpdating="lvContratFonds_OnItemUpdating" 
                OnItemCanceling="lvContratFonds_OnItemCanceling" 
                OnItemDeleting="lvContratFonds_OnItemDeleting" 
                OnItemInserting="lvContratFonds_OnItemInserting" 
                OnItemCreated="lvContratFonds_OnItemCreated" >

                <LayoutTemplate>
                    <asp:PlaceHolder runat="server" ID="afficherFonds2" />
                </LayoutTemplate>

                <ItemTemplate>
                    <div class="contentDiv">
                        <div class="contFondsRows">
                            <div class="contentCellContrats ContFonds"><asp:Literal ID="lblAnneeFiscaleEF" runat="server" /></div>
                            <div class="contentCellContrats ContFonds"><asp:Literal ID="lblFondsContrat" runat="server" /></div>
                            <div class="contentCellContrats ContFonds">
                                    <strong><asp:Literal ID="ltlDeltaTitle" runat="server" Text="Delta" />:</strong>
                                    <asp:Literal ID="ltlContratFondDelta" runat="server" />
                            </div>
                            <div class="modCellCntrFonds">
                                <asp:ImageButton class="smText" ID="btnModifierContratFonds" runat="server" Tooltip="ModifierModify" ImageUrl="~/WebUI/images/icones/edit_16x16.gif" Height="10" Width="10" CommandName="Edit" Visible="false" />
                                <asp:ImageButton class="smText" ID="lnkSupprimerContratFonds" runat="server" Tooltip="Supprimer" 
                                ImageUrl="~/WebUI/images/icones/delete_16x16.gif" Height="10" Width="10" CommandName="Delete" 
                                OnClientClick="SuppFondsDeleteFunds" Visible="false"/>

                                <asp:HiddenField ID="hdnContratFondId" runat="server" Value='("ContratFondId") ' />
                                <asp:HiddenField ID="hdnContratId" runat="server" Value='("ContratId") ' />
                                <asp:HiddenField ID="hdnAnneeFiscaleId" runat="server" Value='("AnneeFiscaleId") ' />
                                <asp:HiddenField ID="hdnEF" runat="server" Value='("efID") ' />
                            </div>
                        </div>
                    </div>
                </ItemTemplate>

            </asp:ListView>
        </div>
        <div class="contentDiv">&nbsp;</div>
    </div>
    </EditItemTemplate>
    <InsertItemTemplate>
    <div class="wideContainer">
        <asp:HiddenField ID="hdnContratId" runat="server" Value='("ContratId") ' />
        <asp:HiddenField ID="hdnEditTemplate" runat="server" Value='True' />                 
        <div class="contentDiv">
            <div class="titleCellContrats smallCell"><asp:literal ID="ltlContratNum" runat="server" Text="ContratNum"/></div>
            <div class="titleCellContrats largeCell"><asp:literal ID="ltlType" runat="server" Text="Type"/></div>
            <div class="titleCellContrats mediumCell"><asp:literal ID="ltlDateDND8" runat="server" Text="DateDND8"/></div>
            <div class="titleCellContrats mediumCell"><asp:literal ID="ltlDtOctroi" runat="server" Text="ApprovalDateOctroi"/></div>
            <div class="titleCellContrats mediumCell"><asp:literal ID="ltlFundsTot" runat="server"  Text="Delta"/></div>
            <div class="modCellTitle">&nbsp;</div>
        </div>
        <div class="contentDiv <%# Container.DisplayIndex % 2 == 0 ? "" : "altRow" ">
            <div class="contentCellContrats smallCell"><asp:TextBox ID="txtContrat" runat="server" MaxLength="8"></asp:TextBox></div>
            <div class="contentCellContrats largeCell">
                <asp:DropDownList ID="ddlTypeContrat" runat="server" DataTextField="NomChampFieldNm" DataValueField="TypeContratId"></asp:DropDownList>
            </div>
            <div class="contentCellContrats mediumCell"><uc1:DateControl ID="dateDND8" runat="server" /></div>
            <div class="contentCellContrats mediumCell">
                <uc1:DateControl ID="dateOctroi" runat="server" />
                <asp:CompareValidator ID="cmpOctroiAfterDND8" runat="server" ControlToCompare="dateDND8$txtDate" ControlToValidate="dateOctroi$txtDate" 
                ErrorMessage="ErrDateOctroi " Type="Date" Operator="GreaterThanEqual" ToolTip="ErrEndDate ">*</asp:CompareValidator>
            </div>
            <div class="contentCellContrats mediumCell"><asp:Literal ID="ltlTotal" runat="server" Text="" /></div>
            <div class="modCellContrats">
                <asp:ImageButton ID="btnAjouterContrat" runat="server" Tooltip="Add " ImageUrl="~/WebUI/images/icones/add_16x16.gif" CommandName="Insert"  />
                <asp:ImageButton ID="btnAnnulerContrat" runat="server" Tooltip="Cancel" ImageUrl="~/WebUI/images/icones/undo1_16x16.gif" CausesValidation="false" OnClick="btnAnnulerAjouterContrat_Click"/>
            </div>
        </div>

        <div class="contentDiv bordered">
            <asp:TextBox ID="txtCommentairesContrats" runat="server" Width="100%" MaxLength="250"></asp:TextBox>
            <ajx:TextBoxWatermarkExtender ID="tbweCommentairesContrats" runat="server" TargetControlID="txtCommentairesContrats" WatermarkText="tbweCommentContats" WatermarkCssClass="watermarked" />
        </div>
    </div>              
    </InsertItemTemplate>

html registerclientscriptblock
1个回答
0
投票

你能解释一下“绑定变成一团糟”的意思吗?你有重复吗?

另外,你能发布bindContrats()方法的代码吗?

编辑1:

ScriptManager.RegisterClientScriptBlock(lvContratFonds, typeof(ListView), "ClientScript", "alert('" + Resources.GPWebResource.errContratFondDelete.ToString() + "')", true);

编辑2:

if (errMsg.Length == 0)
{
    ContratsFondsTransBLL.DeleteAllContratFondTransByContratId(contratFondId, ((PageProjet)Page).ProjetId);
    bindContrats(); // re-bind data
}
else
{
    e.Cancel = true;
    ScriptManager.RegisterClientScriptBlock(this, typeof(Page), "ClientScript", "alert('" + Resources.GPWebResource.errContratFondDelete.ToString() + "')", true);
    /* don't re-bind! */
}
© www.soinside.com 2019 - 2024. All rights reserved.