2010-01-04 36 views
0

你好,我有這個職位同樣的問題:Ajax.BeginForm顯示loadingElementId時OnBegin返回false

Ajax.BeginForm not hiding loading element when onBegin fails,但我還沒有找到如何解決它。

基本上當我使用Ajax.BeginForm具有OnBegin功能,這個函數返回false,加載elementID仍顯示,它不會再隱藏。

這是我與測試它的代碼:

function isValid() { 
    return false 
} 


<% using (Ajax.BeginForm("LogIn", "Security", new { ReturnUrl = Request["ReturnUrl"] } 
     , new AjaxOptions { UpdateTargetId = "resultErrors", OnBegin = "isValid", LoadingElementId = "updatePanel" })) 
{ %> 

回答

1

我不記得確切的解決方案,我決定在很久以前,這是更好寫我自己的樸素的HTML處理Ajax調用。

如果你願意,你可以在這裏發佈您的代碼,我可以告訴你如何用jQuery做。

現在,如果你想堅持這個解決方案仍然可以使用jQuery隱藏元素手動像這樣:

<% using (Ajax.BeginForm("LogIn", "Security", new { ReturnUrl = Request["ReturnUrl"] } 
    , new AjaxOptions { UpdateTargetId = "resultErrors", OnBegin = "isValid", LoadingElementId = "updatePanel" })) 
{ %> 

<script type="text/javascript" language="javascript" src="<%=Url.Content("~/Scripts/jquery-1.4.1.js") %>">//Jquery reference 
</script> 

<script type="text/javascript" language="javascript"> 
    function isValid() { 
     if (true) // In case i whant to return true 
     { 
      return true; 
     } 
     else // I whant to return false 
     { 
      $('#updatePanel').hide(); // Manually hide the LoadingElementId 
      return false; 
     } 
    }  
</script> 
+0

我們可以傳遞參數給此方法即的IsValid(OBJ1,OBJ2)? – Yasser 2012-04-05 06:54:09