繁体   English   中英

userControl中的RegisterClientScriptBlock

[英]RegisterClientScriptBlock In userControl

这是我的jquery和javascript代码:

<script type="text/javascript">
$(document).ready(function () {
    //setup new person dialog
    $('#dialog').dialog({
        modal: true,
        modal: true,
        //            show: "clip",
        //          hide: "explode",
        autoOpen: false,

        title: "انتخاب فاکتور",
        open: function (type, data) {
            $(this).parent().appendTo("form");
        }
    });

    //setup edit person dialog
    $('#editPerson').dialog({
        autoOpen: false,
        draggable: true,
        title: "Edit Person",
        open: function (type, data) {
            $(this).parent().appendTo("form");
        }
    });
});

function showDialog(id) {
    $('#' + id).dialog("open");
}

function closeDialog(id) {
    $('#' + id).dialog("close");
}

该代码在UserControl中。 我可以显示对话框客户端:

我可以使用以下代码从服务器注册代码:

Page.ClientScript.RegisterClientScriptBlock(GetType(String), "script", "$(function() {showDialog('dialog');});", True)

此代码可在页面中使用,但不能在用户控件中使用。 我该如何解决?

HTML代码:

'>'runat =“ server” />

不确定这是否是问题。 由于UserCOntrol是命名容器,因此您的元素ID可能已更改。 因此,您需要使用ClientID获取ID。

将您的代码更改为这样

$("#<%=yourbuttonid.ClientID%>").dialog("open");

检查页面的渲染HTML代码。 您的脚本块顺序正确吗? setup块应该首先在那儿,并且showDialog调用块应该在它下面的某个位置呈现。 是你的情况吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM