簡體   English   中英

使用javascript調用c#中的jquery函數

[英]call the jquery function in c# using javascript

Java腳本代碼:

  <script type="text/javascript">
             $(document).ready(function () {
                 $("#visualization").css('display', 'none');

             });
         </script>
           <script type="text/javascript">
               $('#info a').click(function drawVisualization() {
                   $("#visualization").css('display', 'block');
               });
         </script>

加載時我隱藏了div,我想通過單擊按鈕顯示div

asp.net代碼:

<asp:Button ID="Button1" runat="server" Text="Button" 
  onclick='blue' />

C#代碼:

 protected void blue(object sender, EventArgs e)
        {
            ClientScript.RegisterStartupScript(this.GetType(), "TestInitPageScript",
            string.Format("<script type=\"text/javascript\">drawVisualization();</script>"));
        }

我對編碼還很陌生;誰能幫我解決這個問題。 禁用后我無法顯示可視化效果(div)

有一種簡單的方法可以執行此操作,它不涉及完全不必要的回發到服務器。 像這樣:

$('#<%= Button1.ClientID %>').click(function () {
    $("#visualization").show();
});

這會將JavaScript點擊處理程序分配給Button1的客戶端呈現的輸出。 當然, Button1仍會引起回發,但是由於它不需要在服務器端執行任何操作,因此它甚至不需要成為服務器端控件。 使它像這樣:

<input type="button" id="button1" value="Button" />

然后調整jQuery選擇器以使用客戶端id

$('#button1').click(function () {
    $("#visualization").show();
});

如果您正在做的只是顯示/隱藏頁面元素,並且已經在使用JavaScript進行操作,則完全不需要服務器端代碼。

你可以像這樣使用它

Page.ClientScript.RegisterStartupScript(this.GetType(),"CallMyFunction","$('#visualization').css('display', 'block');",true);
<asp:Button ID="Button1" runat="server" Text="Button" 
  onclick='display()' />

<script>
  function display()
  {
   $("#visualization").show();
  }
</script>

$(document).ready(function(){

    $("#visualization").css('display', 'none');
    $('#Button1').click(function(){
          $("#visualization").css('display', 'block');  
     });

});

我會在客戶端上全部完成。 這樣的事情會起作用。

$("#Button1").on("click", function(e){
      $("#visualization").show();
  });

如果沒有理由進行回發,則可以執行e.preventDefault(); 在調用.show();

代替創建Button OnClick事件,您可以編寫一個簡單的jquery或javascript以獲取所需的輸出

有多種解決上述問題的方法。

1)您可以在asp.net中編寫Button控件的OnClientClick屬性,並將該值作為您在上面的代碼中創建的javascript函數名稱作為drawVisualization()傳遞,另一個重要的事情是您將必須刪除runat =“服務器”屬性,因為它會導致回發(意味着您的頁面再次重新加載,這將導致div隱藏)

2)您可以創建一個jQuery按鈕單擊事件,例如:

首先只是創建一個簡單的函數

           function drawVisualization() {
               $("#visualization").css('display', 'block');
           });

然后單擊按鈕事件

 $('#button1').on( "click", function() {
     drawVisualization(); //call the function that you have created to show the desired output

 });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM