我正在將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()'不會觸發。 –