`

ASP.net MVC 弹出窗口

阅读更多

LoginOn.aspx

<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<NowSource.ViewModels.Account.LogOnModel>" %>
<asp:Content ID="loginTitle" ContentPlaceHolderID="TitleContent" runat="server">
    Login | NowSource
</asp:Content>
<%--<asp:Content ID="Content1" ContentPlaceHolderID="LogoutLink" runat="server">
<a href="mailto:nowsourcesupport@nowdocs.com">Contact Us</a>
</asp:Content>--%>
<asp:Content ID="loginContent" ContentPlaceHolderID="MainContent" runat="server">
    <script type="text/javascript" >
        //弹出窗口JQuery
        function pop_forgetUser() 
        {
            $("#ForgetUserNameBox").dialog({ height: 230,
                width: 550,
                modal: true,
                resizable: false,
                dialogClass: "custom-tip-style"
            });
            $(".ui-dialog-titlebar").hide();//hide dialog title
        }
        //关闭窗口,注意要使用destroy,为了下次打开不显示验证信息,但是在IE中一直失败,不知道原因
        function close_forgetUser()
        {
            $("#ForgetUserNameBox").dialog('destroy');//close dialog, and destory dialog
        }

        function pop_forgetPassWord() 
        {
            $("#ForgetPassWordBox").dialog({ height: 230,
                width: 550,
                modal: true,
                resizable: false,
                dialogClass: "custom-tip-style"
            });
            $(".ui-dialog-titlebar").hide();//hide dialog title
        }

        function close_forgetPassWord()
        {
            $("#ForgetPassWordBox").dialog('destroy');//close dialog, and destory dialog
        }
    </script>
    <div id="ForgetUserNameBox" style="display:none;">
    <!--弹出窗口,ForgetUserName实际就是Control中的Action名称-->
    <iframe src="ForgetUserName" style="width:98%; height:98%;" scrolling="no" frameborder="0"></iframe>
    </div> 

    <div id="ForgetPassWordBox" style="display:none;">
    <iframe src="ForgetPassWord" style="width:98%; height:98%;" scrolling="no" frameborder="0"></iframe>
    </div> 

    <br />
    <br />
    <div id="login_wrapper">
        <div class="login_wrapper_bg">
            <h1>
                <%: Resources.LogOnPage.Welcome %></h1>
            <p>
                Don't use NowSource yet? <a>Take a tour</a> or <a href="mailto:nowsourcesupport@nowdocs.com"><%: Resources.LogOnPage.ContactUs %></a> for more information.</p>
            <% Html.EnableClientValidation(true); %>
            <% using (Html.BeginForm()) { %>
            <span class="error"><%: Html.ValidationSummary(true) %></span>
            <fieldset>
                <div class="form_wrapper">
                    <div class="input_wrapper">
                        <%: Html.LabelFor(m => m.UserName)%>
                        <%: Html.TextBoxFor(m => m.UserName)%>
                        <a href="#" id="forgetUserNameherf" onclick="pop_forgetUser();"><%: Resources.AccountModel.ForgetYourName %></a>
                        <p>
                            <span class="error"><%: Html.ValidationMessageFor(m => m.UserName)%></span>
                        </p>
                    </div>
                    <div class="input_wrapper">
                        <%: Html.LabelFor(m => m.Password)%>
                        <%: Html.PasswordFor(m => m.Password)%>
                        <!--弹出窗口的链接-->
                        <a href="#" id="forgetPassWordherf" onclick="pop_forgetPassWord();"><%: Resources.AccountModel.ForgetYourPassWord %></a>
                        <p>
                            <span class="error"><%: Html.ValidationMessageFor(m => m.Password)%></span>
                        </p>
                    </div>
                    <%: Html.CheckBoxFor(m => m.RememberMe)%>
                    <%: Html.LabelFor(m => m.RememberMe)%>
                    <%--<input type="checkbox" id="remember" name="remember" /> <label for="remember">Remember me on this computer.</label>--%>
                </div>
                <div class="submit_wrapper">
                    <input type="submit" value="<%: Resources.LogOnPage.LoginButton %>" />
                </div>
            </fieldset>
          <% } %>
        </div> 
    </div>  
</asp:Content>

 AccountController.cs

#region ForgetUserName.aspx
        public ActionResult ForgetUserName()
        {
            ModelState.Clear();//Clear Last Validation, add open web page
            return View();
        }

        [HttpPost]
        public ActionResult ForgetUserName(ForgetUserNameModel forgetUserNameModel)
        {
            UserModel user = UserModel.GetUserByEmail(forgetUserNameModel.EmailAddress);
            if (user == null)
            {
                ModelState.AddModelError("not existance", App_GlobalResources.AccountModel.not_existance_email);
            }
            else
            {
                string toEmailAddress = user.strEmail.Trim();
                string loginName = user.strLogin.Trim();

                bool isSuccess = AccountBiz.SendEmail(EmailContext.UserName, loginName, toEmailAddress);
                if (isSuccess)
                {
                    ModelState.AddModelError("success", App_GlobalResources.AccountModel.success_username);
                }
                else
                {
                    ModelState.AddModelError("failure", App_GlobalResources.AccountModel.failure);
                }

            }
      
            return View();
        }
        #endregion


        #region ForgetPassword
        public ActionResult ForgetPassword()
        {
            ModelState.Clear();//Clear Last Validation, add open web page
            return View();
        }

        [HttpPost]
        public ActionResult ForgetPassword(ForgetPassWordModel forgetPassWordModel)
        {
            if (ModelState.IsValid)
            {
                UserModel user = UserModel.GetUserByLoginName(forgetPassWordModel.UserName);
                if (user == null)
                {
                    ModelState.AddModelError("not existance", App_GlobalResources.AccountModel.not_existance_username);
                }
                else
                {
                    string toEmailAddress = user.strEmail;
                    string password = user.strPassword;

                    bool isSuccess = AccountBiz.SendEmail(EmailContext.PassWord, password, toEmailAddress);
                    if (isSuccess)
                    {
                        ModelState.AddModelError("success", App_GlobalResources.AccountModel.success_password);
                    }
                    else
                    {
                        ModelState.AddModelError("failure", App_GlobalResources.AccountModel.failure);
                    }

                }
            }
            return View();
        }

        #endregion

 UserModel.cs

/// <summary>
        /// get UserModel by _strLogin
        /// </summary>
        /// <param name="UserName"></param>
        /// <returns></returns>
        public static UserModel GetUserByLoginName(string UserName)
        {
            var query = from user in NowSourceEntitiesDataContext.Current.UserModels
                        where user.strLogin == UserName
                        select user;

            return query.FirstOrDefault<UserModel>();
        }

 ForgetUserName.aspx

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/PopUp.Master" Inherits="System.Web.Mvc.ViewPage<NowSource.ViewModels.Account.ForgetUserNameModel>" %>

<asp:Content ID="Content1" ContentPlaceHolderID="TopContent" runat="server">
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="TitleContent" runat="server">
    <b><%: Resources.AccountModel.Username_Recovery %></b>
</asp:Content>

<asp:Content ID="Content3" ContentPlaceHolderID="MainContent" runat="server">
<script src="<%: Url.Content("~/Scripts/jquery.validate.min.js") %>" type="text/javascript"></script>
<script src="<%: Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js") %>" type="text/javascript"></script>
<script type="text/javascript" >
    function closePopUp() {
       //去父页面的JS关闭页面
        window.parent.close_forgetUser();
    }
</script>

    <% using (Html.BeginForm()) { %>
        <fieldset>
            <div class="form_wrapper">
                    <div class="input_wrapper">
                        <p><%: Resources.AccountModel.ForgetUserName_title %>  </p>
                        <br />
                        <%: Html.LabelFor(model => model.EmailAddress) %>
                        <%: Html.EditorFor(model => model.EmailAddress) %>
                        <p>
                            <div class="error">
                            <%: Html.ValidationSummary() %>
                            </div> 
                        </p>
                    </div>       
            </div>
            <span class="spanbuttom">
                <input id="Cancelbtn" type="button" value="<%: Resources.AccountModel.Cancel_btn %>" onclick="closePopUp();"/>
                <input id="OkBtn" type="submit" value="<%: Resources.AccountModel.OK_btn %>"/>
            </span>
        </fieldset>
    <% } %>
        
</asp:Content>

 注意:要引入的Jquery要是1.8的JS文件

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.10/jquery-ui.min.js"></script>

分享到:
评论

相关推荐

    asp.net mvc 弹出窗口 技巧

    在ASP.NET MVC中实现弹出窗口功能,能够增强用户体验,例如用于确认操作、显示详细信息或进行表单输入。以下是一些关于在ASP.NET MVC中实现弹出窗口的关键知识点: 1. **JavaScript与jQuery库**:在ASP.NET MVC中,...

    asp.net 实现弹出窗口功能

    在 web应用中,比如OA中,经常要用到一些提示,比如EMAIL到达了,就做个象MSN那样的提示框,弹出给用户提示,然后再关闭。在ASP.net 2.0的ajax中,这个现在不难做到了,刚好看到老外的一篇文章,讲解到,下面小结之

    asp.net弹出窗口大集锦

    在《asp.net弹出窗口大集锦》这篇文章中,我们深入探讨了ASP.NET中使用JavaScript(JS)来实现各种弹出窗口的方法,这些方法在用户界面设计和用户体验提升方面具有不可忽视的价值。 ### ASP.NET与JavaScript的结合 ...

    精通ASP.NET中弹出窗口技术

    在ASP.NET中,弹出窗口通常是通过JavaScript实现的,因为ASP.NET自身并不直接支持弹出窗口功能。 在ASP.NET中创建弹出窗口,通常涉及到两种主要的JavaScript函数:`window.alert()` 和 `window.confirm()`. `window...

    asp.net mvc3 iis6

    - 在弹出的【应用程序配置】窗口中点击【添加】按钮。 - 设置“可执行文件”为 `C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll`。 - 设置“扩展名”为 `.mvc`。 - 取消勾选【确认文件是否...

    精通ASP.NET MVC 3框架 中文(试读,2章)

    ### 精通ASP.NET MVC 3框架:创建首个MVC应用详解 #### 章节概述 在《精通ASP.NET MVC 3框架》一书中,第三章详细介绍了如何使用ASP.NET MVC框架构建一个简单的数据-实体应用程序。本章不仅适合初学者了解ASP.NET ...

    Asp.net MVC会员管理系统

    在会员管理中,可能需要弹出窗口来处理一些操作,如确认删除、修改密码等。ASP.NET MVC结合JavaScript库(如jQuery UI或Bootstrap)可以轻松实现这些交互。 10. **异常处理和日志记录(Exception Handling & ...

    【ASP.NET编程知识】Asp.Net MVC3.0如何项目部署到Win7 64位系统.docx

    在弹出的窗口中,勾选“IIS”相关的组件,包括“Web管理工具”和“万维网服务”,然后点击“确定”进行安装。 2. **安装.NET Framework 4.0**: ASP.NET MVC 3.0需要.NET Framework 4.0作为运行时环境。如果你的...

    基于ASP.NET MVC4+JQuery easyui的企业管理系统开发案例源码

    同时,对话框组件可用于创建弹出窗口,如添加或编辑记录,而菜单组件则可以创建导航菜单,增强用户体验。 在实际开发中,还需要考虑权限管理和错误处理。ASP.NET MVC4提供了角色和身份验证机制,可以实现用户登录、...

    VS2019 ASP.NET MVC5 新手入门实例包括CRUD,以及常用上传图片和富文本CKEDITOR演示DEMO

    适用人数:ASP.NET MVC5入门,EF入门、SQL SERVER 入门 使用场景及目标:ASP.NET MVC网站实例,用于ASP.NET MVC...Jquery、layer-v3.1.0(弹出窗口插件、 My97DatePicker(日期选择插件)、 ckeditor(富文本插件) we

    在ASP.NET中实现弹出窗口总结

    此外,ASP.NET MVC框架也提供了类似的实现方式,可以通过jQuery或其他前端库结合View、PartialView实现弹出窗口。在Controller中返回PartialView,然后在JavaScript中动态加载并显示。 最后,对于复杂的弹出窗口...

    asp.net弹出框示例代码

    它可以在不刷新整个页面的情况下显示一个模态的弹出窗口。 3. **ASP.NET MVC**:在MVC模式下,可以利用HTML Helper方法和jQuery来创建弹出框,或者使用 Partial Views 来模拟对话框效果。 4. **Bootstrap**:如果...

    ASP.NET源码——Asp.net弹出对话框控件汉化修正版.zip

    1. **模态行为**:当弹出窗口打开时,阻止用户与页面其他部分的交互,直到弹出窗口关闭。 2. **定制化内容**:允许开发者插入任意HTML、服务器控件或用户控件到弹出窗口中。 3. **事件处理**:提供事件触发机制,如...

    mvc5jquery弹出层居中并显示遮罩

    在本项目"Mvc5jQuery弹出层居中并显示遮罩"中,开发者利用Microsoft的ASP.NET MVC5框架和jQuery库,实现了弹出窗口的居中显示以及半透明遮罩效果,提升了用户界面的美观度和易用性。 首先,我们来了解一下MVC5框架...

    Telerik Extensions for ASP.NET MVC Q2 2013.2.611 商业版

    5. **对话框和窗口**:提供可自定义的弹出窗口,用于实现各种交互式功能,如确认、警告或设置对话框。 6. **富文本编辑器**:集成的WYSIWYG编辑器,使得内容编辑和格式化变得更加简单,适合用于博客、论坛或者CMS...

    asp.net 导出 pdf 文件

    同时,考虑到不同浏览器对 PDF 支持的差异,我们可能需要提供多种下载方式,如弹出新窗口、提供链接或使用 JavaScript 触发下载。 总结起来,ASP.NET 导出 PDF 文件涉及多种技术选择和实施策略,开发者可以根据项目...

    \ASP.NET实现自适应图片大小的弹出窗口(窗口可任意编辑).doc

    ### ASP.NET实现自适应图片大小的弹出窗口详解 在Web开发中,处理图像展示时,经常需要创建一个能够自适应图像大小的弹出窗口,同时保持良好的用户体验。本文将详细解析如何在ASP.NET框架下实现这一功能,具体包括...

    DevExpress ASP.NET

    5. **对话框和弹出窗口**:可以创建自定义的对话框,用于显示详细信息、确认操作或执行其他交互。 通过深入学习和实践DevExpress ASP.NET案例,开发者可以提升在ASP.NET MVC环境下的开发效率,创建出功能强大且用户...

    ASP.NET DWZ+MVC使用实例

    ASP.NET DWZ+MVC使用实例是一个综合性的项目,它结合了DWZ(Dynamic Web Zone)前端框架和ASP.NET MVC后端框架,为开发者提供了一种高效、灵活的Web应用程序开发解决方案。在这个实例中,我们可以深入学习如何在ASP...

    如何在ASP.NET MVC中使用Ajax创建和下载文件

    通常,文件下载会在新窗口或弹出对话框中进行,这与Ajax的异步行为不符。一种解决方案是创建一个隐藏的iframe,将Ajax请求的目标指向这个iframe,从而在后台完成下载。 此外,`.NET`提供了丰富的类库来处理文件操作...

Global site tag (gtag.js) - Google Analytics