2016-06-21 38 views
0

在asp.net項目中,首先我必須隱藏表格行,當點擊linkbutton然後顯示此表格行。所以我在名爲ShowDiv的OnClientClick鏈接按鈕上調用一個函數。現在的問題是,在調用該函數後,它再次轉到document.readyfunction。我需要顯示錶格行上asp鏈接按鈕

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#trUpdateImportEmail").hide(); 
    }); 
    function ShowDiv() { 
     $("#trUpdateImportEmail").show() 
    } 
</script> 

<asp:LinkButton ID="lnkUpdateEmail" runat="server" CausesValidation="False" CommandName="Select" Text='Update Import Email' OnClientClick="Show()"></asp:LinkButton> 
+0

你能後的鏈接按鈕標記?點擊按鈕後頁面是否重新加載? –

+0

@Rob Lang:請立即檢查。我也嘗試設置默認顯示:'trUpdateImportEmail'爲none,linkbutton將調用ShowDiv函數。但仍然得到相同的問題 –

+0

你需要'OnClientClick =「return Show()」'。這是一個重複的問題。 –

回答

1

在你的代碼文件被重新加載上點擊按鈕。因此,請在您的函數中使用返回falseevent.preventdefault()以防止文檔重新加載。

<script type="text/javascript"> 
$(document).ready(function() { 
    $("#trUpdateImportEmail").hide(); 
}); 
function ShowDiv() { 
    $("#trUpdateImportEmail").show(); 
    return false; 
} 

或者

<script type="text/javascript"> 
$(document).ready(function() { 
    $("#trUpdateImportEmail").hide(); 
}); 
function ShowDiv(event) { 
    event.preventdefault(); 
    $("#trUpdateImportEmail").show(); 
} 

1

因爲asp:LinkBut​​ton是一個服務器端控件,它會事後回發。 當您的調試器再次跳轉到document.ready時,它因爲頁面可能已被重新加載。

使用OnClientClick時,它不會取代LinkBut​​ton行爲(即回發),它只是在它之前運行。

嘗試從js函數返回false(因爲它返回true)。 ,讓你的OnClientClick樣子:

return ShowDiv();