0

所以我有一个 .NET 页面,其中我有一个转发器和一个“删除”按钮,用于该转发器中的每条记录。我想要做的是每次单击此按钮时显示一个弹出窗口,用户可以在其中输入文本并确认删除。我已经让我的删除方法工作了,但我在显示弹出部分时遇到了问题。我试过 AjaxToolkit:popupExtender 但无法正确配置它,它不弹出不识别按钮 ID。

<ajaxToolkit:ToolkitScriptManager 
            ID="ToolkitScriptManager1" runat="server">
        </ajaxToolkit:ToolkitScriptManager>
<div
<p style="width: 125px; margin-left: 520px">
    &nbsp;</p>
<asp:Repeater ID="Repeater1" runat="server"   EnableTheming="true" onitemcommand="Repeater1_ItemCommand" >
    <HeaderTemplate>
            <table class="datatable fullwidthpercent"> 
               <tr>
                   <td>ID&nbsp</td>                     
                   <td>&nbsp Nom&nbsp</td>                             
                   <td>&nbsp Prénom&nbsp</td>                              
                   <td>&nbsp Email&nbsp</td>                      
                   <td>&nbsp Adresse&nbsp</td>
                   <td>&nbsp Ville&nbsp</td>
                   <td>&nbsp Tél&nbsp</td>
               </tr>

    </HeaderTemplate>
        <ItemTemplate>

               <tr>
                   <td>&nbsp<%# Eval("id") %>&nbsp</td>                           
                   <td>&nbsp<%# Eval("nom") %>&nbsp</td>                         
                   <td>&nbsp<%# Eval("prenom") %>&nbsp</td>                         
                   <td>&nbsp<%# Eval("email") %>&nbsp</td>
                   <td>&nbsp<%# Eval("adresse") %>&nbsp</td>
                   <td>&nbsp<%# Eval("ville") %>&nbsp</td>
                   <td>&nbsp<%# Eval("tel") %>&nbsp</td>
                   <td><asp:Button ID="Btn1" runat="server" CommandArgument= ' <%# Eval("id") %> ' Text="Eliminer" OnClick = "buttonEliminer_click" ></asp:Button></td>                   
               </tr>                  

        </ItemTemplate>
        <SeparatorTemplate>
        <tr>
        <td colspan="6"><hr /></td>
        </tr>
        </SeparatorTemplate>
        <FooterTemplate>
           </table>
        </FooterTemplate>
</asp:Repeater>
</div>
</form>
<ajaxToolkit:PopupControlExtender runat="server" TargetControlID="Btn1"></ajaxToolkit:PopupControlExtender>

我收到以下错误:

system.argumentexception argument 'expression' is not a valid value Event validation is enabled using <pages enableEventValidation="true"/>

PS:中继器和数据库访问工作正常。

4

1 回答 1

1

尝试在下面创建一个假按钮,ModalPopupExtender例如:

<asp:button runat="server" id="btnFake" style="visibility: collapse;" />

然后设置TargetControlID="btnFake"ModalPopupExtender.

在后面的代码中,您可以设置当一个人单击删除按钮时,即buttonEliminer_click例程:

ModalPopupExtenderID.Show()

然后使用模式弹出窗口上的按钮从中继器中删除。这也意味着您必须从中继器的行中收集 ID 并将其设置为HiddenField,例如,在将要弹出的面板中。然后,当有人在您的弹出窗口上单击“提交”时,HiddenField将具有要删除的行的 ID。

编辑:还有一些关于你的代码的注释,你添加的弹出扩展器在一个</form>部分之外,弹出应该在这个里面。

于 2013-08-08T13:27:37.193 回答