![](/img/trans.png)
[英]Call C# method from another page in javascript function with 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.