C# 将ajax ModalPopupXtender置于用户控件内

C# 将ajax ModalPopupXtender置于用户控件内,c#,asp.net,javascript,ajax,C#,Asp.net,Javascript,Ajax,我在许多页面上使用ajax ModalPopupXtender来显示确认对话框 因此,我希望通过将相同的代码放在use控件中,在所有页面上重用相同的代码。 但我不确定是否可以从javascript访问此用户控件(我不希望服务器端操作) 这是负责弹出显示的代码,我想将其放在用户控件中: <script language="javascript" type="text/javascript"> var _source; var _popup; var _btn;

我在许多页面上使用ajax ModalPopupXtender来显示确认对话框

因此,我希望通过将相同的代码放在use控件中,在所有页面上重用相同的代码。 但我不确定是否可以从javascript访问此用户控件(我不希望服务器端操作)

这是负责弹出显示的代码,我想将其放在用户控件中:

<script language="javascript" type="text/javascript">
    var _source;
    var _popup;
    var _btn;
    var _div;

    function showConfirm(source, btnID, theDiv) {

        this._source = source;
        this._btn = btnID;
        this._div = theDiv;

        document.getElementById(btnID).click();   
        document.getElementById(theDiv).style.visibility = 'visible';
    }

        function okClick() {

            document.getElementById(_div).style.visibility = 'hidden';
            __doPostBack(this._source.name, '');
        }

        function cancelClick() {
            document.getElementById(_div).style.visibility = 'hidden';
            this._source = null;
        }
    </script>


 <cc1:ModalPopupExtender ID="modal" runat="server"
        TargetControlID="theButton" PopupControlID="div"
        OkControlID="btnOk" OnOkScript="okClick();" CancelControlID="btnNo"
        OnCancelScript="cancelClick();" BackgroundCssClass="modalBackground" />

 <div id="div" runat="server" align="center" class="confirm" style="display: none">
    <img align="absmiddle" src="../images/warning.jpg" />Are you sure you want to delete this item?
    </br>
    <asp:Button ID="btnOk" runat="server" Text="Yes" Width="50px" />
    <asp:Button ID="btnNo" runat="server" Text="No" Width="50px" />
 </div>
string s = string.Format("showConfirm(this,'{0}','{1}');return false;", theButton.ClientID, div.ClientID);            
btn.OnClientClick = s;

可以从javascript调用模式弹出扩展程序,因为模式弹出控件只是另一个DOM元素。您只需要知道一个选择器,它可以选择项目

要从javascript“显示”模式弹出扩展程序,您需要做的就是向母版页、用户控件或显示dom元素的页面添加一些脚本,dom元素是模式弹出扩展程序


或者,您可以使用javascript框架,该框架具有许多其他样式的模式对话框,这些对话框与ajax模式弹出扩展程序一样(如果不是更多的话)有用。考虑到您不想使用ASP.NET的服务器端代码功能,这可能与您试图实现的目标更相关。

可以从javascript调用模式弹出扩展程序,因为模式弹出控件只是另一个DOM元素。您只需要知道一个选择器,它可以选择项目

要从javascript“显示”模式弹出扩展程序,您需要做的就是向母版页、用户控件或显示dom元素的页面添加一些脚本,dom元素是模式弹出扩展程序


或者,您可以使用javascript框架,该框架具有许多其他样式的模式对话框,这些对话框与ajax模式弹出扩展程序一样(如果不是更多的话)有用。考虑到您不想使用ASP.NET的服务器端代码功能,这可能与您试图实现的目标更相关。

您所说的“可以选择项目的选择器”是什么意思?除了confirm(),我还可以使用哪些javascript模式对话框?谢谢。也许我没有说清楚,但是popupextender位于usercontrol内部。你说的“可以选择项目的选择器”是什么意思?除了confirm(),我还可以使用哪些javascript模式对话框?谢谢。也许我没有说清楚,但是popupextender位于usercontrol内部。