将非标准属性添加到 Repeater 中的 asp:LinkButton 会阻止 OnItemCommand 的运行

本文关键字:LinkButton OnItemCommand 运行 asp 属性 非标准 添加 中的 Repeater | 更新日期: 2023-09-27 18:35:19

我正在将Foundation 5 Reveal Modal 组件与<asp:LinkButton>集成。 要使显示模式正常工作,它需要向<asp:LinkButton>添加data-reveal-id的非标准 HTML 属性。如果我"不"在下面的.aspx中添加此属性,则单击链接按钮将触发rptNotice_ItemCommand。但是,当data-reveal-id添加到 LinkButton 时,如下所示rptNotice_ItemCommand不会运行,并且lbMessage不会更新。数据库在提交模式表格时需要lbMessage

我如何让它工作?

有没有其他方法可以跟踪消息 ID?

.aspx文件中

<!-- Foundation 5 Reveal Modal -->
<div id="replyModal" class="reveal-modal" data-reveal>
    <h2>Reply to Notice</h2>
    <asp:Label ID="lbMessage" runat="server" />
    <asp:TextBox ID='tbFollowQuestion' runat="server" TextMode="MultiLine" Width="100%" /><br />               
    <asp:Button ID="btnFollowCancel" runat="server" Text="Cancel" OnClick="followQuestionCancel_Clicked" />
    <asp:Button ID="btnFollowQuestion" runat="server" Text="Submit" OnClick="followQuestionSave_Clicked" />
    <a class="close-reveal-modal">&#215;</a>
</div>
<asp:Repeater ID="rptNotice" runat="server" OnItemCommand="rptNotice_ItemCommand">
    <ItemTemplate>
        <div class="row padding-bottom-10 border-bottom-1 margin-bottom-10">                
            <!-- LinkButton -->
            <div class="small-6 medium-2 xlarge-1 columns">
                    <asp:LinkButton data-reveal-id="replyModal" CommandName="Contact" CommandArgument='<%#Eval("MessageId")%>' ToolTip="Reply" runat="server"><img src="/images/icon/envelop.jpg" alt="Contact Us"><strong class="font-size-14">Reply</strong></asp:LinkButton>
            </div>
        </div>
    </ItemTemplate>
</asp:Repeater>

.aspx.cs文件中

public void rptNotice_ItemCommand(object source, System.Web.UI.WebControls.RepeaterCommandEventArgs e)
{
    lbMessage.Text = "MessageId: " + e.CommandArgument.ToObjectString();
}

将非标准属性添加到 Repeater 中的 asp:LinkButton 会阻止 OnItemCommand 的运行

由于参数未知,似乎可能存在解析问题。我建议使用CommandArgument字段。尝试"回复"到命令参数。

在后端拆分值并获取操作类型。