0

我想从控制器显示引导模态对话框。我能怎么做 ?如何从控制器调用引导程序模式?

从我_layout我会打电话给一个模式登录is_loginPartial:

<div class="top-bar-links"> 
    <a href="#" class="launchLoginModal">Login</a> 
</div> 

@Html.Partial("~/Views/User/_LoginPartial.cshtml"); 

在我_loginPartial鉴于我有一个局部视图嵌套在由谷歌帐户登录按钮。

@Html.Partial("~/Views/User/_ExternalLoginsListPartial.cshtml", new HoiCode.Web.Models.Users.ExternalLoginListViewModel { ReturnUrl = ViewBag.ReturnUrl }) 

我_ExternalLoginsListPartial观点:

@using (Html.BeginForm("ExternalLogin", "User", new { ReturnUrl = Model.ReturnUrl })) 
    { 
     @Html.AntiForgeryToken() 
     <div id="socialLoginList"> 
       @foreach (AuthenticationDescription p in loginProviders) 
       { 
        <button type="submit" class="btn btn-sm btn-google-plus" id="@p.AuthenticationType" name="provider" value="@p.AuthenticationType"><i class="fa fa-google"></i> | login by @p.AuthenticationType</button> 
       } 
     </div> 
    } 

而从上述观点,我会打电话确认电子邮件模式如果谷歌帐户的用户登录。确认电子邮件模态将从ActionResult调用是ExternalLoginCallback

public async Task<ActionResult> ExternalLoginCallback(string returnUrl) 
    { 
     return PartialView("_ExternalLoginConfirmation", new ExternalLoginConfirmationViewModel { Email = loginInfo.Email }); 
    } 
+0

你想从服务器加载模态的内容?你在问什么?或者你想在页面加载时已经打开一个模式? – tmg

+0

@tmg是我想从服务器加载模态。 –

回答

1

三个简单的步骤。

1.增加一个按钮,将HTML,使用attr ID和数据目标

<a class="btn btn-default" href="@Url.Action("externalLoginCallback", "account")" id="register" data-target="#exampleModal">modal</a> 

2.增加自举模式骨架

<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> 
    <div class="modal-dialog"> 
     <div class="modal-content"> 

     </div> 
    </div> 
</div> 
  • 添加JavaScript以从服务器载入内容并打开模式

    $(document).on('click','#register', function (e) { 
        e.preventDefault(); 
        var btn = $(this); 
        var target = $(btn.data('target')); 
        target.find('.modal-content').load(
         $(this).attr('href'), function() { 
          target.modal('show'); 
         } 
        ); 
    }); 
    
  • 相关问题