Asp.net UserControl DirectMethod未在Ext.net中触发
您好,我正在将一个UserControl(其中包含GridPanel)加载到 选项卡面板 但当我单击Gridpanel编辑命令按钮时,服务器上的事件 side方法不工作并显示异常,如 异常详细信息:System.Web.HttpException:ID为的控件 找不到“id8b177c82adb2e925” 我的代码是 对于userControl,.ascx代码为 在观察webBrowser中的源页面时,我发现这些控件 不同的Id使相应的函数不显示。如果我给出 “ClientIdMode=static”它在加载时为我提供了唯一的Id问题 页面中的同一控件。如果我在单页中使用此代码 没有用户控制,它工作得很好 调用服务器端方法应该做什么 多谢各位Asp.net UserControl DirectMethod未在Ext.net中触发,asp.net,ext.net,Asp.net,Ext.net,您好,我正在将一个UserControl(其中包含GridPanel)加载到 选项卡面板 但当我单击Gridpanel编辑命令按钮时,服务器上的事件 side方法不工作并显示异常,如 异常详细信息:System.Web.HttpException:ID为的控件 找不到“id8b177c82adb2e925” 我的代码是 对于userControl,.ascx代码为 在观察webBrowser中的源页面时,我发现这些控件 不同的Id使相应的函数不显示。如果我给出 “ClientIdMode=sta
我猜您在一个请求期间动态呈现一个用户控件,而在另一个请求期间不会重新创建它,因此Ext.NET找不到它的DirectMethod,因为服务器上没有用户控件实例 可能的解决办法是:
我决定使用第二种方法,但在我看来,在操作GridVIe、store和webservice内部(访问usercontrol元素,如usercontrol内部,似乎是一个问题)和返回客户端时,似乎有点困难,3。我的问题是你的个人经验和给我的建议是什么(很抱歉我的英语不好。)**我也在研究我的项目的最佳方法,但还不能决定。在我的项目中,我有一个主页和17-18个用户控件(包含button gridview等…),单击主页内的按钮时,我会动态加载用户控件(也在this用户控件内,调用另一个用户控件)。是的,您无法在Web服务中访问用户控件的控件。所有必需的内容都应作为请求的额外参数从页面提交。我已使用此信息编辑了答案。关于我的个人偏好。我不希望重新创建用户控件并使用Web服务或HTTP处理程序。理想情况下,我更希望使用MVC.for t第一种方法(在每个请求期间重新创建一个用户控件),示例网页上是否有一个示例。tahnk you’s answer我问这个问题,因为我不擅长web服务,例如响应标记在发布后返回一个脚本标记(例如,创建一个新窗口并向用户发出警报,或者创建一个窗口并加载用户控件),是否有一种方法可以在客户端处理这些代码和执行,
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="GridPanelUserControl.ascx.cs" Inherits="Ext_PracticeExamples.GridPanelUserControl" %>
<ext:GridPanel ID="gpEmployeeList" runat="server" StripeRows="true" Title="Employee List" Layout="FitLayout"
Width="620" Height="400" AutoExpandColumn="FirstName">
<Store>
.....
</Store>
<ColumnModel ID="ColumnModel1" runat="server">
<Columns>
<ext:ImageCommandColumn ID="imgSettings" runat="server" Text="Settings" Resizable="false">
<Commands>
<ext:ImageCommand Icon="BasketEdit" Style="text-align: center" CommandName="Settings">
</ext:ImageCommand>
</Commands>
<Listeners>
<Command Handler=" #{DirectMethods}.fnDisplaySettings(record.data.Company,record.data.Price,record.data.Change);" />
</Listeners>
</ext:ImageCommandColumn>
</Columns>
</ColumnModel>
[DirectMethod]
public void fnDisplaySettings(string name, double X, double Y)
{
// ..some Operation....
Response.Redirect("~/_Default.aspx");
}