2014-08-27 65 views
0

嗨請檢查我想獲得代碼後面的點擊事件,因爲我正在使用母版頁概念,並且我在此頁面中有一個子窗體,我有ContentPlaceHolder,My按鈕「btnSubmit」這是一個在GridView下的鏈接按鈕。我想要加載圖像,當我點擊btnSubmit按鈕。請檢查並幫助。如何使用jquery獲取c#代碼中的點擊事件

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
function ShowProgress() { 
    setTimeout(function() { 
     var modal = $('<div />'); 
     modal.addClass("modal"); 
     $('body').append(modal); 
     var loading = $(".loading"); 
     loading.show(); 
     var top = Math.max($(window).height()/2 - loading[0].offsetHeight/2, 0); 
     var left = Math.max($(window).width()/2 - loading[0].offsetWidth/2, 0); 
     loading.css({ top: top, left: left }); 
    }, 200); 
} 
$('form').live("submit", function() { 
    ShowProgress(); 
}); 

aspx頁面..

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" Runat="Server"> 
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"> 
<Columns> 
    <asp:BoundField DataField="Journal" HeaderText="Customer Id" /> 
    <asp:BoundField DataField="ISBN" HeaderText="Contact Name" /> 
    <asp:BoundField DataField="Status" HeaderText="City" /> 
    <asp:TemplateField HeaderText="Btn"> 
     <ItemTemplate> 
      <asp:Button ID="btnSubmit" runat="server" Text="Load Customers" 
OnClick="btnSubmit_Click" /> 
     </ItemTemplate> 
    </asp:TemplateField> 
</Columns> 
</asp:GridView> 
<div class="loading" align="center"> 
Downloading Files. Please wait<br /> 
<br /> 
<img src="loader.gif" alt="" /> 
</div> 
</asp:Content> 

在CS頁面。

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 
     string script = "$(document).ready(function() { $('[id*=btnSubmit]').click(); });"; 
     ClientScript.RegisterStartupScript(this.GetType(), "load", script, true); 
    }  
} 
+0

只要確保您使用的是提交按鈕的正確標識,因爲id是使用contentplaceholder id.Description在瀏覽器中進行呈現並使用它。 – Mairaj 2014-08-27 07:59:14

回答

1

嘗試這種方式

腳本

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
<script type="text/javascript"> 
    function ShowProgress() { 
     setTimeout(function() { 
      var modal = $('<div />'); 
      modal.addClass("modal"); 
      $('body').append(modal); 
      var loading = $(".loading"); 
      loading.show(); 
      var top = Math.max($(window).height()/2 - loading[0].offsetHeight/2, 0); 
      var left = Math.max($(window).width()/2 - loading[0].offsetWidth/2, 0); 
      loading.css({ top: top, left: left }); 
     }, 200); 
    } 
    $('form').live("submit", function() { 
     ShowProgress(); 
    }); 
</script> 

並添加事件onrowdatabound電網

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
onrowdatabound="GridView1_RowDataBound"> 

和CS頁

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    if(e.Row.RowType == DataControlRowType.DataRow) 
    {  
     Button btnSubmit = e.Row.FindControl("btnSubmit") as Button; 
     btnSubmit.Attributes.Add("OnClick", "ShowProgress();"); 
    } 
} 
+0

嗨Hiral很好,我想正是這個...告訴我更多的事情,如果我們有兩個按鈕,我想加載img在兩個按鈕與相同的JS代碼是否可能或不? – 2014-08-27 09:08:33

+0

@AshwaniGusain yaa它的可能性,但有一件事,如果它不需要調用函數代碼後面你簡單地設置客戶端上的On按鈕單擊AS OnClientClick =「ShowProgress();返回true;」 – 2014-08-27 09:12:09

+0

@AshwaniGusain你調用這樣的函數 2014-08-27 09:16:41

1

在此事件中也使用按鈕的OnClientClick事件調用一個javascript函數,它將進度條的css更改爲可見。

OnClientClick="ShowProgress();return true;" 
相關問題