有没有人使用Ajax Control Toolkit在DNN 6中成功运行模块?当我们从DNN 5.x迁移到6.x时,我的模块停止工作.模块编译没有错误,但我收到客户端脚本错误:
'AjaxControlToolkit需要ASP.NET Ajax 4.0脚本.确保引用了正确版本的脚本.如果您使用的是ASP.NET ScriptManager,请切换到AjaxControlToolkit.dll中的ToolkitScriptManager
根据我发现的信息,这似乎与Telerik的控制冲突.但我没有找到任何信息如何解决它.
假设我们有Accordion控制,其中有几个按钮放在其他Accordion控件中.问题是这些按钮的事件不在服务器端处理.例:
我有以下代码:
<form runat="server">
<ajax:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
</ajax:ToolkitScriptManager>
<ajax:Accordion ID="Accordion1" runat="server" Enabled="True" Visible="true">
<Panes>
<ajax:AccordionPane ID="AccordionPane1" runat="server">
<Header>
header1 <asp:button id="ButtonH" runat="server" text="ButtonH" onclick="Button1_OnClick" />
</Header>
<Content>
<ajax:Accordion ID="Accordion12" runat="server" Enabled="True">
<Panes>
<ajax:AccordionPane ID="AccordionPane12" runat="server">
<Header>
header2
<asp:button id="ButtonH2" runat="server" text="ButtonH2" onclick="Button1_OnClick" />
</Header>
<Content>
<asp:button id="ButtonContent" runat="server" text="Content" onclick="Button1_OnClick" />
content1</Content>
</ajax:AccordionPane>
</Panes>
</ajax:Accordion>
</Content>
</ajax:AccordionPane>
</Panes>
</ajax:Accordion>
</form>
Run Code Online (Sandbox Code Playgroud)
代码隐藏:
protected void Button1_OnClick(object sender, EventArgs e)
{
var button = (Button)sender;
}
Run Code Online (Sandbox Code Playgroud)
Button1_OnClick方法仅在ButtonH单击时执行,但不在打开ButtonH2或ButtonContent …
我们的服务器场由2台Web服务器组成(我们使用DNN 6.0.2).如果管理员更改横幅,模块或图片的权限,则这些更改仅在已完成更改的服务器上可见.在调用"主机"菜单中的缓存清除之前,其他服务器上的更改不可见.
这是正确的行为吗?我们是否遗漏了网络农场配置中的内容?
我正在研究DNN 6.0网站上的一般问题:一个DNN模块中的无法处理的异常会影响处理页面上的所有其他模块.例:
假设我有DNN页面,上面有两个模块.Module1具有onclick事件处理程序抛出异常的按钮.Module2只有一些标签文字.
因此,当用户按下Module1.button时,我们看到错误而不是Module1,而Module2不可见.
是否有可能在一个地方捕获所有这些Module1异常并让DNN处理页面上的其他模块?(我知道最简单/最简单的方法是在button.onclick中编写try/catch块,但是我不能在我们创建的所有模块中实现这样的方法,因为它需要很长时间.)