我在这里面临一个小问题:
我有一个aspx页面,其中包含一个更新面板,其中包含一个占位符(在其内容模板中),其中包含根据特定条件显示/隐藏的不同userControl。
其中一个内部有一个长脚本,其中包含一个初始化函数,该函数使用服务器标签(<%#myCtrl.ClientID%>)检索控件以获取值等等。事情就是当我调用此函数时一旦updatepanel完成更新,它只是说它未定义..
好像根本看不到我的userControl脚本,
这是我的aspx页面,在更新完成时带有“initializeFees”函数调用:
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true"
EnablePageMethods="true">
<asp:UpdatePanel runat="server">
<ContentTemplate>
<script type="text/javascript">
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(initializeFees);
</script>
<div class="Registration_ProgressContent">
<uc3:Ctrl_RegistrationProgress ID="Ctrl_RegistrationProgress1" runat="server" OnSelectedIndexChanged="changeStep" />
</div>
</div>
<div class="Registration_StepContent">
<asp:PlaceHolder runat="server">
<uc1:Ctrl_RegistrationGeneral ID="Ctrl_RegistrationGeneral1" runat="server" Visible="False" />
<uc4:Ctrl_RegistrationFee ID="Ctrl_RegistrationFee1" runat="server" Visible="False" />
这是我的“uc4:Ctrl_RegistrationFee”html代码:
<%@ Control Language="vb" AutoEventWireup="false" CodeBehind="Ctrl_RegistrationFee.ascx.vb"
Inherits="MDSInscription.Ctrl_RegistrationFee" %>
<script type="text/javascript">
//Validateurs
var valTeam;
var valEmail;
var imgName;
function initializeFees() {
valTeam = $('#valCreateTeamName');
valEmail = $('#valCreateEmail');
$("#accordion").accordion({
//activate: function (event, ui) {
// // validateSelection();
//}
});
后面的代码(VB.NET .....#joy ..):
Private Sub Page_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreRender
ScriptManager.RegisterClientScriptBlock(Me, Page.GetType(), "Init", "initializeFees();", True)
End Sub
这是我搜索一个多小时后得到的代码, 我收到以下错误:
Uncaught ReferenceError: initializeFees is not defined
如果你觉得自己可以提供帮助,那么,谢谢!
答案 0 :(得分:0)
问题通过以下脚本解决,我放在更新面板之外:
function pageLoad() {
$(".datepicker").datepicker({
changeMonth: true,
changeYear: true,
minDate: "-100Y",
maxDate: "-15Y",
dateFormat: "dd/mm/yy",
yearRange: "1913:2300"
});
//more Code executed on each postback from the update panel ...
}