2014-07-02 40 views
0

在這裏完成難倒,我在ektron中創建了一個小工具,它在2天前工作正常,所有突然的所有事件都沒有理由停止工作。我一直試圖追查肇事者無濟於事。Ektron Multiview不會切換視圖

我的aspx文件是一個包含兩個視圖的基本多視圖,一個用於編輯設置,另一個用於內容。

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="ContentPlus.ascx.cs" Inherits="widget_ContentPlus" Debug="true" %> 

<asp:multiview ID="contentPlusWidget" runat="server"> 
    <asp:View ID="vEdit" runat="server"> 
     <table> 
     <tr> 
      <td class="label">Content: </td> 
      <td><asp:DropDownList ID="ddlContentType" runat="server" class='displayType'></asp:DropDownList></td> 
     </tr> 
     <tr> 
      <td><asp:Button ID="btnSave" runat="server" Text="Save" /></td> 
      <td><asp:Button ID="btnCancel" runat="server" Text="Cancel" /></td> 
     </tr> 
    </table> 
    </asp:View> 

    <asp:View ID="vContent" runat="server"> 
     <!-- Content Code --> 
    </asp:View> 

</asp:multiview> 
在contentplus.ascx.cs

接檔我有我的網頁事件,然後我的BTN事件

protected void Page_Init() { 
    _host = Ektron.Cms.Widget.WidgetHost.GetHost(this); 
    _host.Title = "My Widget"; 
    _host.Edit += new EditDelegate(EditEvent); 
    _host.ExpandOptions = Expandable.ExpandOnEdit; 

    btnSave.Click += new EventHandler(btnSave_Click); 
    btnCancel.Click += new EventHandler(btnCancel_Click);  
} 

protected void Page_Load() { 
    if(!this.IsPostBack) 
     ChangeViewTo(vContent); 
} 

protected void btnSave_Click(object sender, EventArgs e) { 
    Javascript.Alert("SAVED!"); 
    SaveSelectedIndex(); 
    ChangeViewTo(vContent); 
} 

protected void btnCancel_Click(object sender, EventArgs e) { 
    Javascript.Alert("CANCEL!"); 
    ChangeViewTo(vContent); 
}  

public void EditEvent(string settings) { 
    Javascript.Alert("EDIT!"); 
    ChangeViewTo(vEdit); 
    PopulateDropDownBoxWithAvailableContent();   
} 

void ChangeViewTo(View view) { 
    Javascript.ConsoleLog(view.ID); 
    contentPlusWidget.SetActiveView(view); 

    if(view.Equals(vEdit)) 
     PopulateDropDownBoxWithAvailableContent(); 
} 

幾件事情不工作,當點擊設置按鈕首當,屏幕會灰色的旋轉圖標,當它回來沒有發生任何事情。這通常發生在_host.Edit += new EditDelegate(EditEvent);代表尚未設置時,但正如您所看到的那樣。第二,當我將設置視圖設置爲默認值時,按下保存或取消按鈕,您將看到旋轉對話框,然後什麼也不做。事件代碼從不觸發。但你可以看到,我分配了Page_Init()

我覺得我缺少一些明顯的東西,但我被困了一天。有任何想法嗎?

編輯:改變標題,以反映問題的當前理解

+0

查看正在運行的服務器上的事件查看器。這聽起來像是服務器端發生錯誤,但沒有被報告到前端。 –

+0

終於領先了!我得到以下內容::表單身份驗證失敗的請求。原因:提供的票已過期。搜索谷歌,因爲我們說.... – MichaelTaylor3D

+0

我不知道如果其相關與否,我清除緩存後,我停止接收錯誤,但仍然有問題。 – MichaelTaylor3D

回答

0

OK找到了解決辦法和生病後它的任何人。

當曄做它期望的響應是在格式

1|#||4|6696|updatePanel|ctl00_cphBillBoard_dzLeft_updatepanel| 
     <div id="ctl00_cphBillBoard_dzLeft_dzcontainer" class="dropzone PBClear" EditMode="true">....<the rest of your content>..... 

在一開始這些管道是非常重要的,在我的代碼的幾個地方,我動態注入的JavaScript內調試AJAX回傳瀏覽器的目的,我也使用Response.Write();在屏幕上記錄一些錯誤消息。 這些被注入我的管道之前,所以它搞砸了Ajax請求。當我意識到這一點並刪除了所有日誌記錄時,一切都奏效