我有 ASCX 控件,它基本上只包含一个 DIV,里面有几个 ASP 按钮。我的母版页包含一个 ASP.NET 表单,我想在按下上述按钮之一时进行回发。默认情况下,此 DIV 是不可见的,并且变为可见以用作对话框,由 JQuery 插件 BlockUI 处理。因此,在某些时候用户会看到这个 DIV,我希望在用户单击按钮时进行回发。
我的问题是:ASCX 通过指令附加到 MasterPage:
(file MasterPage begins:)
<%@ Master Language="C#" Inherits="GIUMasterPage" CodeBehind="MasterPage.master.cs"
AutoEventWireup="True" %>
<%@ Register Src="uscMsgBox.ascx" TagName="uscMsgBox" TagPrefix="uc2" %>
(HTML head, body form opening tags are below).
对页面的检查表明,它的 DIV 出现在表单标记之外的HTML 代码的末尾。结果,当它可见并且按下按钮时,没有发生回发。我更进一步,将按钮的 onClientClick 属性 javascript 调用附加到 __doPostBack 函数。回发开始发生,但没有调用按钮的处理程序。
我确信如果 ASCX 的 DIV 代码出现在表单 HTML 标记中,回发将正常进行。
所以,我的问题是,如何通过某些指令命令将 ASPX 的 DIV 内容放在 FORM 标记中,而不是放在页面末尾?我可能会更改 MasterPage 和 ASPX 本身。