How can I pass data from an aspx page to an ascx modal popup?我对ASP.NET还是很陌生,并试图学习如何做。我来自C#背景,因此代码隐藏部分很容易,但是像Web开发人员这样的思维却并不熟悉。 我有一个aspx页面,其中包含复选框网格。我有一个通过Button_Click事件编码的按钮,用于收集已检查行的列表并从该列表中创建会话变量。我的ascx页面的ModalPopupExtender引用了同一按钮(通过TargetControlID),该按钮控制ascx页面上的面板。 单击按钮时,将打开模式弹出窗口,但不会触发Button_Click事件,因此模式不会获取其会话数据。 由于两个页面是分开的,所以无法从aspx.cs代码调用ModalPopupExtender,也无法从ascx.cs代码访问复选框列表,也看不到填充方法我的会话变量,然后以编程方式激活其他一些隐藏的按钮或控件,这些按钮或控件将打开我的模式弹出窗口。 有什么想法吗? 所有usercontrol(.ascx)文件都是一组控件,这些控件已组合在一起以提供一些可重用的功能。在页面生命周期内,其中定义的控件仍将添加到页面的控件集合(.aspx)中。 ModalPopupExtender使用javascript和dhtml在usercontrol客户端中显示和隐藏控件。您会看到,单击事件由ModalPoupExtender在客户端处理,并且正在取消回发到服务器的操作。这是设计上的默认行为。当然,您可以从用户控件的代码后面访问页面的控件集合,因为它都属于同一控件树。只需使用任何控件的FindControl(xxx)方法来搜索所需的子控件即可。 在根据DancesWithBamboo的回答进行了一些研究之后,我弄清楚了如何使其工作。
用于获取并打开ModalPopupExtender(名为modalPopup)的aspx背后的代码如下所示:
对不起,但我很困惑。您不能直接调用ascx,所以... 是您在同一页面(例如隐藏面板等)内调用的模式代码; 还是您要在点击事件中调用的另一个aspx页面? |