简体   繁体   English

在 ASP.NET MVC 中使用引导程序创建模态

[英]Creating a modal with bootstrap in ASP.NET MVC

I'm using .NET Framework 4.5, Bootstrap v3.3.6 on a ASP.NET MVC project.我在 ASP.NET MVC 项目上使用 .NET Framework 4.5,Bootstrap v3.3.6。

What I want to do is create a modal form我想要做的是创建一个模态表单

I tried the following:我尝试了以下方法:

  1. Created a modal container in the main layout在主布局中创建了一个模态容器

    <div id="modal-container" class="modal fade" tabindex="-1" role="dialog" style="border: 5px solid #3A87AD;"> <a href="#close" title="Close" class="modal-close-btn">x</a> <div class="modal-content" style="width:500px;important: margin; 10px auto !important;"> <div class="modal-body"></div> </div> </div>
  2. Added js to make internal Ajax call to inject content in a partial view添加了 js 以进行内部 Ajax 调用以在局部视图中注入内容

    $(function () { $('body').on('click', 'modal-link', function (e) { e.preventDefault(); $(this).attr('data-target', '#modal-container'); $(this).attr('data-toggle', 'modal'); }); $('body').on('click', 'modal-close-btn', function() { $('modal-container').modal('hide'); }); $('#modal-container').on('hidden.bs.modal', function(){ $(this).removeData('bs.modal'); }); });
  3. Created a partial view that to load in a modal dialog创建了要在模式对话框中加载的局部视图

    <div class=" "> <div class="modal-title" style="color: #3A87AD;"> <h3> Add Content</h3> </div> <br /> @using (Html.BeginForm("Create", "Place", FormMethod.Post)) { <div class="row-fluid"> Enter Content </div> <div class="row-fluid"> @Html.textAreaFor(m => m.Text, new { style="width:400px; height:200px;"}) </div> <div class="row-fluid"> <div class="col-md-4 col-md-offset-4"> <button type="submit" id="btnSave" class="btn btn-sm">Save</button> <button type="button" class="btn btn-sm" data-dismiss="modal">Cancel</button> </div> </div> } </div> <script type="text/javascript"> $(function () { $('#btnSave').click(function () { $('#modal-container').modal('hide'); }); }); </script>
  4. Created action to return the partial view and to process the results of the post创建操作以返回部分视图并处理帖子的结果

    public ActionResult CreateModal() { return PartialView("_CreateModal"); } [HttpPost] public ActionResult CreateModal(Place model) { return RedirectToAction("Index"); }
  5. Created an action link to show the modal when clicked创建了一个操作链接以在单击时显示模式

    @Html.ActionLink("Click me", "CreateModal", "Place", null, new { @class = "img-btn-addcontent modal-link", title = "Add Content" })`

My problem is that my modal doesnt look like a modal我的问题是我的模态看起来不像模态

在此处输入图像描述

Simply add bootstrap.min.js and bootstrap.css to Your bundles for showing/hiding modal. 只需将bootstrap.min.js和bootstrap.css添加到您的包中即可显示/隐藏模态。 Your modal body should look like this: 你的模态体看起来像这样:

<div id="myModal" class="modal fade" role="dialog">
  <div class="modal-dialog">
<div class="modal-content">
  <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal">&times;</button>
    <h4 class="modal-title">Modal Header</h4>
  </div>
  <div class="modal-body">
    @Html.Partial("My partial View")
  </div>
  <div class="modal-footer">
    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
  </div>
</div>

` `

and then you call Your modal by: 然后你通过以下方式调用你的模态:

<button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#myModal">Open Modal</button>

Also remember to insert Your partial View into Your modal body. 还记得将部分视图插入到模态体中。

My solution.我的解决方案。 You can write this code in cshtml.您可以在 cshtml 中编写此代码。 Step1:步骤1:

 <script type="text/javascript">
    function ShowModal() {

        $("#exampleModal").modal('show');
    }
</script>

Step2:第2步:

 <button type="button" class="btn btn-sm btn-default" onclick="ShowModal()">Show modal</button>

Step3:第三步:

    <div class="modal fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="exampleModalLabel">Modal title</h5>
        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div class="modal-body">
        ...
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Save changes</button>
      </div>
    </div>
  </div>
</div>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM