2013-10-31 50 views
0

我有一個非常簡單的asp.net用戶控件,它具有隱藏日曆服務器端控件的提交按鈕。這裏是代碼:頁面循環使用Javascript進行ASP .NET用戶控制

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="WebUserControl1.ascx.cs"  
    Inherits="WebApplication5.WebUserControl1" %> 

<script type="text/javascript" src="scripts/jquery-1.4.1.min.js"></script> 
<script language="javascript" type="text/javascript"> 
// <![CDATA[ 

    function Submit1_onclick() { 
     alert("1"); 
     $('#<%=Calendar1.ClientID%>').hide(); 
     alert("2"); 
    } 

// ]]> 
</script> 

<input id="Submit1" type="submit" value="submit" onclick="return Submit1_onclick()" /> 
<asp:Calendar ID="Calendar1" runat="server"></asp:Calendar> 

現在我將此用戶控件包含在asp.net應用程序的默認頁面中。下面是默認頁面的代碼:

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master"   AutoEventWireup="true" 
    CodeBehind="Default.aspx.cs" Inherits="WebApplication5._Default" %> 
<%@ Register TagPrefix="CP" TagName="TitleBar" Src="WebUserControl1.ascx" %> 

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent"> 
</asp:Content> 
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"> 
     <CP:TitleBar runat="server" /> 
</asp:Content> 

我可以看到在頁日曆控件,當我點擊提交它得到隱藏了一會兒,但隨後再次出現。如果我在default.aspx中編寫所有代碼,它可以很好地工作。我知道這與頁面生命週期有關,但無法弄清楚什麼?請幫忙!!還有什麼應該是正確的方式寫這個然後...

+0

[ASP.net頁面生命週期概述(http://msdn.microsoft.com/en-us/library這麼寫return false; /ms178472.ASPX) – Liam

回答

2

提交刷新頁面,而不是使用按鈕。

更改此:

<input id="Submit1" type="submit" value="submit" onclick="return Submit1_onclick()" /> 

這樣:

<input id="Submit1" type="button" value="submit" /> 

$(function(){ 
    $('#Submit1').click(function(){ 
     alert("1"); 
     $('#<%=Calendar1.ClientID%>').hide(); 
     alert("2"); 
    }) 
}); 
1

你的代碼是正確的,它應該工作一樣沒有用戶控件。問題是,你這麼想的需要回發後alert("2");

function Submit1_onclick() { 
    alert("1"); 
    $('#<%=Calendar1.ClientID%>').hide(); 
    alert("2"); 
    return false; 
} 
相關問題