在這裏完成難倒,我在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()
我覺得我缺少一些明顯的東西,但我被困了一天。有任何想法嗎?
編輯:改變標題,以反映問題的當前理解
查看正在運行的服務器上的事件查看器。這聽起來像是服務器端發生錯誤,但沒有被報告到前端。 –
終於領先了!我得到以下內容::表單身份驗證失敗的請求。原因:提供的票已過期。搜索谷歌,因爲我們說.... – MichaelTaylor3D
我不知道如果其相關與否,我清除緩存後,我停止接收錯誤,但仍然有問題。 – MichaelTaylor3D