【问题标题】:ASP.NET Core MVC bootstrap modal - vary contentsASP.NET Core MVC 引导模式 - 改变内容
【发布时间】:2019-03-07 05:29:40
【问题描述】:

我正在尝试重现以下引导模式示例。

每个按钮都有不同的 data-x 属性,允许模式为每个按钮单击提供不同的文本。

问题是 ASP.NET MVC Core 不允许我在按钮内容中使用 @ 字符。如果我按照示例使用 @ 字符,它不会编译,但如果我删除 @ 它不起作用。

(@ 为 MVC 模型数据保留)

我该如何进行这项工作?有没有办法像 /@/ 一样让我使用 @ 字符,或者有替代方法吗?

谢谢

$('#exampleModal').on('show.bs.modal', function (event) {
  var button = $(event.relatedTarget) // Button that triggered the modal
  var recipient = button.data('whatever') // Extract info from data-* attributes
  // If necessary, you could initiate an AJAX request here (and then do the updating in a callback).
  // Update the modal's content. We'll use jQuery here, but you could use a data binding library or other methods instead.
  var modal = $(this)
  modal.find('.modal-title').text('New message to ' + recipient)
  modal.find('.modal-body input').val(recipient)
})
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal" data-whatever="@mdo">Open modal for @mdo</button>
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal" data-whatever="@fat">Open modal for @fat</button>
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal" data-whatever="@getbootstrap">Open modal for @getbootstrap</button>

<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="exampleModalLabel">New message</h5>
        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div class="modal-body">
        <form>
          <div class="form-group">
            <label for="recipient-name" class="col-form-label">Recipient:</label>
            <input type="text" class="form-control" id="recipient-name">
          </div>
          <div class="form-group">
            <label for="message-text" class="col-form-label">Message:</label>
            <textarea class="form-control" id="message-text"></textarea>
          </div>
        </form>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Send message</button>
      </div>
    </div>
  </div>
</div>

【问题讨论】:

    标签: jquery html asp.net-mvc asp.net-core bootstrap-modal


    【解决方案1】:

    正如@Parvez 所述,您需要添加@@ 以允许使用@

    data-whatever="@mdo"Open modal for @mdo

    都需要这样做
    <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal" data-whatever="@@mdo">Open modal for @@mdo</button>
    

    您可以在这里阅读更多内容

    https://docs.microsoft.com/en-us/aspnet/core/mvc/views/razor?view=aspnetcore-2.2

    【讨论】:

      【解决方案2】:

      如果您真的想使用@ 字符,请使用双@@ 而不是单@。例如,

      <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal" data-whatever="@@mdo">Open modal for @mdo</button>
      

      【讨论】:

        猜你喜欢
        • 2022-10-20
        • 2021-08-31
        • 1970-01-01
        • 2014-08-29
        • 1970-01-01
        • 2019-02-10
        • 1970-01-01
        • 2019-08-18
        • 2020-11-26
        相关资源
        最近更新 更多