asp.net – ModalPopupExtender和验证问题
发布时间:2020-05-24 07:11:52 所属栏目:asp.Net 来源:互联网
导读:我遇到的问题是,当页面上有验证,我正在尝试显示模型弹出窗口时,弹出窗口不会显示.并且通过使用fire-bug,我注意到一个错误被抛出. 用于显示弹出窗口的按钮导致验证设置为false,所以我被卡住导致错误的原因. 我创建了一个示例页面来隔离我遇到的问题,任何帮助将
|
我遇到的问题是,当页面上有验证,我正在尝试显示模型弹出窗口时,弹出窗口不会显示.并且通过使用fire-bug,我注意到一个错误被抛出. 用于显示弹出窗口的按钮导致验证设置为false,所以我被卡住导致错误的原因. 我创建了一个示例页面来隔离我遇到的问题,任何帮助将不胜感激. 错误 function () {Array.remove(Page_ValidationSummaries,document.getElementById("ValidationSummary1"));}(function () {var fn = function () {AjaxControlToolkit.ModalPopupBehavior.invokeViaServer("mpeSelectClient",true);Sys.Application.remove_load(fn);};Sys.Application.add_load(fn);}) is not a function
http://localhost:1131/WebForm1.aspx
Line 136
ASP <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="CLIck10.WebForm1" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
<asp:Button ID="btnPush" runat="server" Text="Push" CausesValidation="false" onclick="btnPush_Click" />
<asp:TextBox ID="txtVal" runat="server" />
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtVal" ErrorMessage="RequiredFieldValidator" />
<asp:ValidationSummary ID="ValidationSummary1" runat="server" />
<asp:Panel ID="pnlSelectClient" Style="display: none" CssClass="box" runat="server">
<asp:UpdatePanel ID="upnlSelectClient" runat="server">
<ContentTemplate>
<asp:Button ID="btnOK" runat="server" UseSubmitBehavior="true" Text="OK" CausesValidation="false" OnClick="btnOK_Click" />
<asp:Button ID="btnCancel" runat="server" Text="Cancel" CausesValidation="false" OnClick="btnCancel_Click" />
</ContentTemplate>
</asp:UpdatePanel>
</asp:Panel>
<input id="popupDummy" runat="server" style="display:none" />
<ajaxToolkit:ModalPopupExtender ID="mpeSelectClient" runat="server"
TargetControlID="popupDummy"
PopupControlID="pnlSelectClient"
OkControlID="popupDummy"
BackgroundCssClass="modalBackground"
CancelControlID="btnCancel"
DropShadow="true" />
</div>
</form>
代码背后 using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace CLIck10
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender,EventArgs e)
{
}
protected void btnOK_Click(object sender,EventArgs e)
{
mpeSelectClient.Hide();
}
protected void btnCancel_Click(object sender,EventArgs e)
{
mpeSelectClient.Hide();
}
protected void btnPush_Click(object sender,EventArgs e)
{
mpeSelectClient.Show();
}
}
}
解决方法这是使用ValidationSummary和ModalPopup的问题.见:http://ajaxcontroltoolkit.codeplex.com/WorkItem/View.aspx?WorkItemId=12835 问题是缺少“;”两个注入脚本之间. 他们的解决方案是创建/使用从ValidationSummary继承的自定义服务器控件,它注入一个“;”进入页面启动脚本来修复错误: [ToolboxData("")]
public class AjaxValidationSummary : ValidationSummary
{
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
ScriptManager.RegisterStartupScript(this.Page,this.Page.GetType(),this.ClientID,";",true);
}
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
推荐文章
站长推荐
- asp.net-mvc – 验证消息中的换行符
- vbscript – 经典ASP 3.0从Recordset创建数组
- asp.net-mvc – 如何使用统一依赖注入的Automapp
- .net – 任何具有Postsharp生产经验的人?
- asp.net – 在Response.Redirect()之后调用Respo
- asp.net – 如何为Google Chrome启用自动登录用户
- 实体框架 – 带有实体框架的MVC 3和ASP.Net脚手架
- asp.net-mvc – Asp.Net Mvc – 在ActionResult.
- asp.net – Chrome在成功的文件下载(200状态)上显
- asp.net – GridView中的工具提示
热点阅读
