2016-06-14 58 views
0

鉴于以下页面(最新更新)。asp.net无效回发按钮onclick中继器脚注

<%@ Page Title="" Language="C#" MasterPageFile="~/master/superuser.master" AutoEventWireup="true" CodeFile="default.aspx.cs" Inherits="permissions_default" %> 

<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="Server"></asp:Content> 
<asp:Content ID="Content2" ContentPlaceHolderID="PageContent" runat="Server"> 
    <h1>Permissions Management</h1> 
<div class="row"> 
     <div class="span9"> 
     <form runat="server"> 
      <fieldset> 
       <legend>CRM User Permissions</legend> 
       <asp:Repeater ID="rptUserPermissions" runat="server" OnItemCommand="rptUserPermissions_ItemCommand"> 
        <HeaderTemplate> 
         <table class="table table-striped autowidth"> 
          <thead> 
           <tr> 
            <th>User</th> 
            <th>Program</th> 
            <th>Action</th> 
           </tr> 
          </thead> 
          <tbody> 
        </HeaderTemplate> 

        <ItemTemplate> 
         <tr> 
          <td><%# DataBinder.Eval(Container, "DataItem.user_name") %></td> 
          <td><%# DataBinder.Eval(Container, "DataItem.program_name") %></td> 
          <td> 
           <asp:Button ID="btnDelete" Text="Delete" runat="server" CommandName="cmd_Delete" CommandArgument="<%# DataBinder.Eval(Container, "DataItem.id") %>" /> 
          </td> 
         </tr> 
        </ItemTemplate> 

        <FooterTemplate> 
         <tr> 
          <td> 
           <asp:DropDownList ID="ddUser" runat="server" /> 
          </td> 
          <td> 
           <asp:DropDownList ID="ddProgram" runat="server" /> 
          </td> 
          <td> 
           <asp:Button ID="btnSubmit" Text="Add New" runat="server" CommandName="cmd_Submit"/> 
          </td> 
         </tr> 
         </tbody> 
        </table> 
        </FooterTemplate> 
       </asp:Repeater> 
      </fieldset> 
     </form> 
    </div> 
    <div class="span1">&nbsp;</div> 
    <div class="span4"></div> 
    </div> 
</asp:Content> 
<asp:Content ID="Content3" ContentPlaceHolderID="ScriptContent" runat="Server"> 
</asp:Content> 

我如何处理在中继页脚btnSubmit,将btnDelete按钮的onclick事件未抛出一个无效的回发或回调异常?

UPDATE:输入上删除的databinder.evals与命令参数BTN现在抛出的是如下解析erorr消息:

Parser Error Message: The server tag is not well formed. 

回答

1

你真的想使用会从一个触发ItemCommand事件按钮按下项目模板。它在可以从那里使用的行的上下文中传递。

这里你可以看到一个例子:

http://nazimakul.com/article/repeater-itemcommand-event-in-asp-net_1049

+0

怎么样的提交按钮,在页脚模板?那不被认为是一个物品行呢? – Nebri

+0

我相信页脚模板可以像你一样拥有一个按钮。 (对不起,我错过了那部分)。这是一个似乎表明它正在工作的答案。 http://stackoverflow.com/questions/6897141/handling-control-events-from-repeater-footer –

+0

我试着按照你的答案中的文章,并在你链接到的其他stackoverflow问题的答案。这两者仍然在我的末端抛出无效的回发异常。将使用最新的代码片段更新我的问题。 – Nebri