【问题标题】:using bootstrap Modal in ASP.net MVC 4在 ASP.net MVC 4 中使用引导模式
【发布时间】:2014-05-01 23:56:21
【问题描述】:

我想在我的项目中添加一个模式,所以我关注了这个Question 但是当我点击我的Ajouter demanderbutton 时,什么都没有出现(我的模式没有出现)。这是我的代码:
部分视图

@model pfebs0.Models.DEMANDE

<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
    <h3 id="myModalLabel">Ajouter un demande</h3>
</div>
<div>
@using (Html.BeginForm()) {
    @Html.AntiForgeryToken()
    @Html.ValidationSummary(true)

    <div class="modal-body">
        <div class="controls">
            <label for="Citoyen_CIN" >CIN(Nom) du demandeur</label>
            @Html.DropDownList("CIT_CIN", String.Empty)
            @Html.ValidationMessageFor(model => model.CIT_CIN)
        </div>
        <div class="form-group">
            <label for="Description">Description d'offre</label>
            @Html.TextAreaFor(model => model.DESCREPTION)
            @Html.ValidationMessageFor(model => model.DESCREPTION)
         </div>
        <div class="form-group">
            <label for="Observation">Observation</label>
            @Html.EditorFor(model => model.OBSERVATION)
            @Html.ValidationMessageFor(model => model.OBSERVATION)
        </div>
        <div class="modal-footer">
            <button type="submit" class="btn btn-default">Valider</button>&nbsp; &nbsp;
            <button type="reset" class="btn btn-default">Fermer</button>&nbsp; &nbsp;
       </div>
      </div>
}

</div>

详情查看(我只放了模态代码以避免长代码):

 <button class="btn btn-primary CreateDM" data-id="@Model.CIT_CIN">Ajouter demander</button>
    <div class="modal hide fade in" id="CreateDM">
      <div id="CreateDM-container"></div>
    </div>

<script type="text/javascript">
    $(document).ready(function () {
        $('.createDM').click(function () {
            var url = "/Citoyen/CreateDM"; // the url to the controller
            var id = $(this).attr('data-id'); // the id that's given to each button in the list
            $.get(url + '/' + id, function (data) {
                $('#CreateDM-container').html(data);
                $('#CreateDM').modal('show');
            });
        });
    });
 </script> 

创建DM操作:

[HttpGet]
        public ActionResult CreateDM(decimal id)
        {
            var newDM = new DEMANDE();
            newDM.CIT_CIN = id;
            return PartialView("_CreateDM", newDM);
        }

那么我的代码有什么问题?

【问题讨论】:

  • 默认情况下不要隐藏。尝试
  • 检查您在data 中的内容。我将您的代码放在 JsFiddle 中,只是没有 ajax 请求,它可以正常工作。所以你的代码应该没问题。
  • @Ish it dosn"t 解决我的问题
  • @Nicolai 如果我的代码没问题,有什么问题?
  • 检查CreateDM操作是否返回正确的html代码。

标签: jquery asp.net-mvc asp.net-mvc-4 twitter-bootstrap razor


【解决方案1】:

尝试为您的 Ajouter demander 按钮提供唯一 ID

<button id="btnCreateDM" class="btn btn-primary CreateDM" data-id="@Model.CIT_CIN">Ajouter demander</button>

然后使用新 ID 添加您的点击事件。此外,只需使用 Url.Content 作为控制器的路径,有时硬编码路径会导致问题。

    $('#btnCreateDM').click(function () {
        var url = '@Url.Content("CreateDM")'; // the url to the controller

【讨论】:

  • 您是否收到任何错误,或者当您单击按钮时它什么也不做?在你的控制器动作上设置一个断点,看看它是否会到达这个动作。
猜你喜欢
相关资源
最近更新 更多
热门标签