我有一個MvcContrib Html.Grid
項目。每個網格一行,我有一個「刪除按鈕」,這實際上是一個風格錨點<a>
。如果您點擊遠離錨點的柵格,則會觸發一個動作,顯示所選項目的詳細信息。如果點擊網格行內的錨點,則細節動作觸發(第一個),刪除動作觸發(第二個)。通過調試器,這兩個操作都在同時執行從細節開始。這在某些情況下會導致空引用異常。在gridlink上使用錨點觸發gridlink.click()和anchor.click()動作
我搞砸了event.preventDefault()
和其他一些技術來試圖阻止兩個被點擊錨時被解僱,但我似乎無法弄清楚。有沒有人有這方面的見解?我應該爲每一行使用實際的<input type="button" />
嗎?
這裏是關於網格行我 「按鈕」:
column.For(s => "<a class=\"delete fg-button ui-state-default fg-button-icon-left ui-corner-all\" href=\"#\"><span class=\"ui-icon ui-icon-trash\"></span>Delete</a>").Named("").DoNotEncode(); })
這裏有兩個事件觸發:
$(".gridlink").click(function() { getDetails($(this)); });
$("#subscriptions table.grid tbody > tr .fg-button.delete").live('click', deleteHandler);
我的空引用異常是由於我的詳細信息操作中缺少邏輯引起的。我發現防止兩個事件同時發生的唯一方法是將其中一個更改爲dblclick()...在我的控制器中修復邏輯之後,我可以將它們作爲click()離開。 – BueKoW 2011-06-17 14:54:25