2017-02-03 45 views
0

在我們的網頁上,我們有一個搜索,根據它們是打開還是關閉事件來加載事件列表。每個事件都有自己的ID。當事件加載它是一個包含事件名稱,日期的塊時,事件管理員將所有內部命名爲一個asp:LinkBut​​ton,它將觸發javascript回發。如果您單擊該塊內的任何位置,則會加載關於該事件的快速信息。在asp鏈接按鈕內啓用span onclick

我想要完成的事情是,如果事件是開放的,請在asp:LinkBut​​ton中放置一個鏈接,將用戶帶到事件的詳細信息頁面。知道我不能嵌套標籤,但客戶要求請求鏈接在同一個塊內。

這是一個封閉事件的例子。這工作得很好:

<div id="EventList"> 
    <a id="EventList_lnkEventListItem_0" class="list-item show-overlay" href="javascript:__doPostBack()"> 
     <span class="event-date col-md-48 col-sm-48"> 
      02/02/2017           
     </span>          
     <span class="event-name col-md-48 col-sm-48"></span> 
     <span class="EventCoordinator-name col-md-48 col-sm-48"> 
      Started by: Me 
     </span> 
     <div class="col-md-48 text-sm"> 
      Status: Closed 
     </div> 

     <br class="list-item-clear" /> 
    </a> 
</div> 

這是我需要的,我已經添加了顯示的示例的跨度聯繫問題的公開事件的例子:

<div id="EventList"> 
    <a id="EventList_lnkEventListItem_0" class="list-item show-overlay" href="javascript:__doPostBack()"> 
     <span class="event-date col-md-48 col-sm-48"> 
      02/02/2017           
     </span>          
     <span class="event-name col-md-48 col-sm-48"></span> 
     <span class="EventCoordinator-name col-md-48 col-sm-48"> 
      Started by: Me 
     </span> 
     <span class="startedby-name col-md-48 col-sm-48" onclick="window.open(/events/scheduledevents?eventid=####, '_blank')"> 
      Open Event in New Window 
     </span> 

     <div class="col-md-48 text-sm"> 
      Status: Open 
     </div> 

     <br class="list-item-clear" />          
    </a> 
</div> 

我怎樣才能獲得ASP變量將事件ID添加到onclick事件中?有沒有更好的方法來完成任務?

回答

1

stopPropagation()將阻止任何父處理程序發出通知。你可以嘗試這樣的:

function parentFunction(){ 
 
    console.log('parent fired'); 
 
} 
 

 
function childFunction(event) 
 
{ 
 
    event.stopPropagation(); // you can comment this line and see the difference 
 
    console.log('child fired'); 
 
}
$('.item-button').click(function(event) { 
 
    event.stopPropagation();
<a href="#" onclick="parentFunction();"> 
 
    Lorem ipsum 
 
    <br/> 
 
    <br/> 
 
    <span onclick="childFunction(event);"> 
 
    Child button 
 
    </span> 
 
    
 
    <br/> 
 
    <br/> 
 
    Still parent 
 
    </a>

+0

傳播沒有什麼必然阻止我。我無法將事件ID導入onclick事件。 – jcalton88

+0

@ jcalton88如果我理解正確,你需要ItemTemplate。這可能會幫助你http://stackoverflow.com/questions/1336785/asp-net-gridview-itemtemplate –

+0

謝謝。我已經在使用itemtemplate了。這是在模板中放置的意外問題。我會發佈一個確切的答案。但是,由於停止傳播和關於itemtemplate的評論是答案(我的實現不正確),我將其標記爲答案。 – jcalton88