2014-12-23 40 views
0

我正在將Foundation 5 Reveal Modal組件與<asp:LinkButton>集成。要使揭示模式起作用,需要在<asp:LinkButton>中添加一個非標準的HTML屬性data-reveal-id。如果我不在下面的.aspx中添加此屬性,那麼單擊LinkBut​​ton將觸發rptNotice_ItemCommand。但是,如果將data-reveal-id添加到LinkBut​​ton中,如下所示rptNotice_ItemCommand不會運行,並且lbMessage未更新。數據庫在提交模態表單時需要lbMessage將Repeater中的非標準屬性添加到asp:LinkBut​​ton可防止運行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">&#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(); 
} 
+0

鏈接按鈕的屬性屬性是一個集合...我認爲你需要將你的數據屬性添加到代碼背後的屬性集合中。像myLinkBut​​ton.Attributes.add(myCustomAttribute) – BillRuhl

+0

我試過,以及一旦我調用'Attributes.add()''rptNotice_ItemCommand()'不會觸發。 –

回答

0

似乎可以解析的問題,由於未知參數。我會建議使用CommandArgument字段。嘗試「replyModal」CommandArgument。

拆分後端的值並獲取操作類型。

+0

基金會5揭示模態需求'data-reveal-id =「replyModal」'被設置,否則模態將不會出現。將它添加爲'CommandArgument'可以防止揭示模態Javascript檢測到點擊。 –

+0

怎麼樣設置基礎5模態可以使用的類名。這有可能嗎? – theusguy

+0

我的理解是,這將需要重新編寫揭示模式的基礎JavaScript。我相信他們爲什麼不使用class屬性有一個很好的理由。 –

相關問題