的ASP.NET 阿贾克斯 ModalPopupExtenderOnCancelScriptOnOkScript 性质,但这似乎并没有一个 OnShowScript 财产。我想要指定一个javascript功能运行每一个时间的弹出窗口所示。

在过去的情况下,我设置的 TargetControlID 对一个虚拟的控制,并提供我自己的控制,先做一些JS代码,然后使用JS方法,显示的弹出窗口。但在这种情况下,我表示的弹出窗口两者的客户和服务器方的代码。

任何人都知道的一种方式来这样做吗?

顺便说一句,我需要这个,因为我有一个文本中的模式,我想要做介绍的编辑。但命令init脚本上不起作用无形的文本框,所以我不得不找到一种方式来运行它的时候模式显示

有帮助吗?

解决方案

嗯...我 很确定 这有一所示的事件茂金属聚乙烯...这是关闭我的头顶,但我认为你可以添加一个事件处理程序的事件所示上page_load

function pageLoad()
{
    var popup = $find('ModalPopupClientID');
    popup.add_shown(SetFocus);
}

function SetFocus()
{
    $get('TriggerClientId').focus();
}

我不确定。如果这会帮助你呼叫它从服务器的一侧。

其他提示

这里有一个简单的方法来做标记:

<ajaxToolkit:ModalPopupExtender 
                ID="ModalPopupExtender2" runat="server" 
                TargetControlID="lnk_OpenGame" 
                PopupControlID="Panel1" 
                BehaviorID="SilverPracticeBehaviorID"  >
            <Animations>
                <OnShown>
                     <ScriptAction Script="InitializeGame();" />  
                </OnShown>
            </Animations>                
</ajaxToolkit:ModalPopupExtender>

你应该使用 BehaviorIDmpeBID 你ModalPopupExtender.

function pageLoad() {
    $find('mpeBID').add_shown(HideMediaPlayer);
}

function HideMediaPlayer() {
    var divMovie = $get('<%=divMovie.ClientID%>');
    divMovie.style.display = "none";
}

如果您使用的是一个按钮或超链接或者什么触发的弹出窗口显示,你能不能也添加一个附加处理击事件所触发,它应当仍然火的模式弹出和运行javascript在同一时间?

该ModalPopupExtender修改的按钮/超链接,你告诉它的"触发"单元。这击脚本我加入触发之前弹出示。我想脚本以火灾后的弹出窗口所示。

此外,仍然离开我的问题时,我显示的模式从服务器的一侧。

介绍工作看不见的文本如果你隐藏它与css(显示:无;) 你让一个"击"事件在TargetControlID,init命令,如果使用也updatepanel

两个模式的形式:

var launch = false;
var NameObject = '';

function launchModal(ModalPopupExtender) {
    launch = true;
    NameObject = ModalPopupExtender;
}

function pageLoad() {
    if (launch) {
        var ModalObject = $find(NameObject);
        ModalObject.show();
        ModalObject.add_shown(SetFocus);
                }
} 

function SetFocus() {
    $get('TriggerClientId').focus();
}

服务器的一面:behand

protected void btnNuevo_Click(object sender, EventArgs e)
{
    //Para recuperar el formulario modal desde el lado del sercidor
    ScriptManager.RegisterStartupScript(Page, Page.GetType(), "key", "<script>launchModal('" + ModalPopupExtender_Factura.ID.ToString() + "');</script>", false);
}
var launch = false;

function launchModal() {
    launch = true;
}

function pageLoad() {
    if (launch) {
          var ModalPedimento = $find('ModalPopupExtender_Pedimento');
          ModalPedimento.show();
          ModalPedimento.add_shown(SetFocus);
    }
}

function SetFocus() {
    $get('TriggerClientId').focus();
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top