[英]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.