【发布时间】:2014-07-02 13:23:50
【问题描述】:
这里完全被难住了,我在 ektron 中创建了一个 2 天前工作正常的小部件,突然间所有事件无缘无故停止工作。我一直试图追查罪魁祸首无济于事。
我的 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()分配了事件委托
我觉得我错过了一些明显的东西,但我已经被难住了一天。有什么想法吗?
编辑:更改标题以反映当前对该问题的理解
【问题讨论】:
-
查看运行它的服务器上的事件查看器。听起来错误正在发生在服务器端,但没有报告给前端。
-
终于领先了!我得到以下信息::请求的表单身份验证失败。原因:提供的票已过期。在我们说话的时候搜索谷歌......
-
我不确定它是否相关,在我清除缓存后,我停止接收错误但仍然有问题。
标签: c# asp.net events widget ektron