2013-07-23 58 views
1

使用asp.net我想從服務器端程序調用jQuery函數。在我的表單中,我有一個名爲clear image的按鈕和一個瀏覽選項。當我瀏覽時,圖像被插入到圖像字段中。當頁面被加載時,清晰的圖像是不可見的。當我瀏覽照片時,清晰圖像按鈕應該是可見的,瀏覽選項應該是不可見的。當我點擊清晰的圖像按鈕時,瀏覽選項應該是可見的,清晰的圖像按鈕本身應該是不可見的。代碼如下在asp.net中按鈕點擊調用jQuery函數

 <div id="PhotoTransport" style="float: left; width: 40%; padding-left: 5px;"> 
       <img id="imgEventPhoto" width="120" height="90" class="IntGalHLNoBrdr" alt='Sorry! No image found.' 
        src='' runat="server" /> 
      </div> 
    <div id="divPhotoUpload" 
    style="float: left; width: 50%;"> 
       <input id="fupEventPhoto" type="file" size="45" name="PhotoUploadedToUpload" class="imguploader validate[required]" 
        onchange="return validatePhotographToUploadPhoto();" /> 
       <img id="PhotoLoading" alt="Loading..." src="<%=ResolveClientUrl("~/Images/loading.gif")%>"style="display: none;" /> 
      </div>     
      <div id="divPhotoThumb" style="font-size: 10px; float: left;"> 
       <asp:Button ID="btnClearPhoto" runat="server" Text="Clear Image" CssClass="SubmitButton" 
        OnClick="btnClearPhoto_Click" /> 
      </div> 

我有一個jQuery函數如下:

function ShowThumbPhoto() {   
     $('#divPhotoThumb').show(); 
     $('[#divPhotoUpload').hide(); 
    }; 
    function HideThumbPhoto() { 
     $('[id$=divPhotoThumb]').hide(); 
     $('[id$=divPhotoUpload]').show(); 
     $('[id$=btnClearPhoto]').hide(); 
    };  

我也有一個服務器端的功能。當我試圖打電話給Checkimage下面

private void CheckImage() 
{ 
    if (Session["ucPhotoUploaderUploadedImagePhoto"] != null) 
    { 
     this.RegisterJS("ShowThumbPhoto();"); 

    } 
    else 
    { 
     this.RegisterJS("HideThumbPhoto();"); 

    } 
} 

()點擊btnClearPhoto事件。我在這裏存儲照片在會議[「ucPhotoUploaderUploadedImagePhoto」]。檢查圖像功能在每次回發時被調用。每次執行都很好。

我的問題是,儘管調用btnClearPhoto點擊事件checkimage()。 btnClearPhoto的單擊事件的代碼如下:

protected void btnClearPhoto_Click(object sender, EventArgs e) 
    { 
     Session["ucPhotoUploaderUploadedImagePhoto"] = null;    
     CheckImage(); 
    } 

我的問題是jQuery函數從checkimage(),但在客戶端的jQuery函數不叫叫。這意味着我無法完全滿足我的要求。 我已經試過這段代碼也,但它不工作

$("[id$=btnClearPhoto]").click(function(e){ 
    e.HideThumbPhoto(); 
}); 
+0

$('[#divPhotoUpload')。hide();那是什麼樣的選擇?另外在asp.net中,元素的id根據其父容器id而變化。 –

+0

先生,在其他實例中,它按照要求工作。我已經寫了這個隱藏div的ID。 –

+0

使用** $(「#<%= btnClearPhoto.ClientID%>」)**這用於選擇您的按鈕ID。 –

回答

1

$( '[#divPhotoUpload')隱藏()。它認爲這個選擇器有問題,刪除[將糾正它。另外在asp.net中,id的元素會根據其父容器標識進行更改,因此無論您在javascript中引用了您的asp.net控件,chnage都如下所示。

<%=btnClearPhoto.ClientID%> e.g 
$("<%=btnClearPhoto.ClientID%>").click(function(e){ 
     e.HideThumbPhoto(); 
     }); 
+0

謝謝先生,我已經試過這一個,但它並沒有調用HideThumbPhoto() –

+0

多一件事,在裏面點擊甚至將e.HideThumbPhoto改爲HideThumbPhoto(); –

+0

如果您收到任何異常,還可以在瀏覽器控制檯中檢查。 –