2010-04-22 78 views
1

我有一個索引頁的從我的數據庫作爲一個TreeView呈現對象,來電顯示彈出式窗口,每個項目都有一個鏈接HREF =「/ MessageGroupType,使得調用Ajax /編輯/ 1002顯示在DIV的局部視圖。MVC局部視圖使用jQuery

在有一個刪除按鈕,其呼籲我的控制器刪除的項目的局部視圖。

但是,我做了檢查,以確保該項目可以刪除,如果該項目不能被刪除的話,我想彈出出現後面的編輯表單,告訴他們不能刪除該記錄的用戶。

在我的編輯部分鑑於我有以下代碼

<asp:PlaceHolder runat="server"> 
     <script src="<%= Url.Content("../../Scripts/JQuery/jquery-1.4.1.min.js") %>" type="text/javascript"> 
     </script> 
</asp:PlaceHolder> 


<script type="text/javascript" > 
    $(function() { 
     $("#dialog").dialog(); 
    }); 

</script> 

    <% if (Boolean.Parse(ViewData["DisplayWindow"].ToString())){%> 
    <div id="dialog" title="Cannot Delete Message Group Type"> 
      <p>This Mesage group Type Cannot be deleted as is linked to other message group Types </p> 
      </div> 
    <% }%> 

所以我的主要問題是

  1. 將我的管窺之內做出一個javascript腳本的引用(我不希望我的母版頁被叫做部分視圖)
  2. 當我的局部視圖數據動態地加載到我DIV - 我可以然後調用我的控制器插入另一個DIV到第一DIV之後。
  3. 我是我這個做了錯誤的方式 - 所以任何指針表示讚賞

乾杯

回答

1

在你的樹視圖中,您可以在AjaxOptions一個OnFailure選項,將指向您的$("#dialog").dialog();添加Ajax.ActionLink

在你的控制,如果用戶不能刪除記錄,關聯錯誤請求代碼(Response.StatusCode = (int)HttpStatusCode.BadRequest;)到您的HttpResponse所以你OnFailure函數將被調用(和你的彈出顯示)。

不要忘記,如果記錄已被刪除

+0

嗨到OnSuccess功能,以您的Ajax.ActionLink聯繫起來 - 對不起,我應該指出這一點 - 我在一些地方已經差不多我havea阿賈克斯行動鏈路上與Confirm =「你確定要刪除顯示器嗎?On選擇是我的控制器被調用 - 現在我想刪除進入我的控制器 - Onfailure會觸發我需要的功能,即使是Ok按鈕被按下, Thnaks你的投入很大appreicated。 – 2010-04-22 14:48:40