我正在将Foundation 5 Reveal Modal组件与<asp:LinkButton>
集成。要使揭示模式起作用,需要在<asp:LinkButton>
中添加一个非标准的HTML属性data-reveal-id
。如果我不在下面的.aspx
中添加此属性,那么单击LinkButton将触发rptNotice_ItemCommand
。但是,如果将data-reveal-id
添加到LinkButton中,如下所示rptNotice_ItemCommand
不会运行,并且lbMessage
未更新。数据库在提交模态表单时需要lbMessage
。将Repeater中的非标准属性添加到asp:LinkButton可防止运行OnItemCommand
我如何得到这个工作?
是否有另一种方式来跟踪消息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">×</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();
}
链接按钮的属性属性是一个集合...我认为你需要将你的数据属性添加到代码背后的属性集合中。像myLinkButton.Attributes.add(myCustomAttribute) – BillRuhl
我试过,以及一旦我调用'Attributes.add()''rptNotice_ItemCommand()'不会触发。 –