Javascript NET MVC Razor,在JQuery函数中获取ID

Javascript NET MVC Razor,在JQuery函数中获取ID,javascript,jquery,asp.net-mvc,razor,model,Javascript,Jquery,Asp.net Mvc,Razor,Model,我正在使用.net mvc和razor,并在视图中显示项目(itemRoom、itemDescription),如下所示: @foreach (var item in Model) { <li class="errorItem"> <a href="#" class="list-group-item">

我正在使用.net mvc和razor,并在视图中显示项目(itemRoom、itemDescription),如下所示:

@foreach (var item in Model) {
                            <li class="errorItem">
                                <a href="#" class="list-group-item">
                                    <i class="fa fa-warning fa-fw"></i> @Html.DisplayFor(modelItem => item.room) : @Html.DisplayFor(modelItem => item.title)
                                    <span class="pull-right text-muted small"><em>5 min ago</em>
                                    </span>
                                    <div>
                                        <ul id="errorExtra" class="nav nav-second-level" style="display: none;">
                                        <li>
                                            <p> @Html.DisplayFor(modelItem => item.description)</p>

                                            <input type="button" id="btnFixed" value="Fixed" class="btn btn-success"/>                                                        
                                        </li>
                                        </ul>
                                    </div>

                              </a>

                            </li>
                            }
@foreach(模型中的变量项){
  • }
    在我的页面底部,我使用JQuery让每个项目在点击时滑动打开,这样细节和“修复”按钮就可以看到了。当用户单击“固定”按钮时,他将被引导到确认页面以删除该项目

        <script src="../Assets/js/bootstrap.min.js"></script>
    
        <script type="text/javascript">
            $(document).ready(function () {
    
            var isOpen = false;
    
            $(".errorItem").click(function (e) {
                isOpen = !isOpen;
                if (isOpen) {
                    $(this).find("#errorExtra").slideToggle("slow");
    
                } else {
                    $(".btn-success").click(function (e) {
                        window.location.replace("Reports/Delete/2")
    
                    })
                };
            });
    
    
           });
    
    
    </script>
    
    
    $(文档).ready(函数(){
    var-isOpen=false;
    $(“.errorItem”)。单击(函数(e){
    等参=!等参;
    if(等参线){
    $(这个).find(#errorExtra”).slideToggle(“slow”);
    }否则{
    $(“.btn成功”)。单击(函数(e){
    窗口.位置.替换(“报告/删除/2”)
    })
    };
    });
    });
    

    一切正常,但链接“window.location.replace”(“Reports/Delete/2”)”实际上必须是“Reports/Delete/itemID”,但我如何才能获得用户单击并打开幻灯片的项目的ID?以便在确认页面上删除此项目?

    在视图中做一些更改,假设您的唯一id具有属性名
    id

    @foreach (var item in Model) {
                                <li class="errorItem">
                                    <a href="#" class="list-group-item">
                                        <i class="fa fa-warning fa-fw"></i> @Html.DisplayFor(modelItem => item.room) : @Html.DisplayFor(modelItem => item.title)
                                        <span class="pull-right text-muted small"><em>5 min ago</em>
                                        </span>
                                        <div>
                                            <ul id="errorExtra" class="nav nav-second-level" style="display: none;">
                                            <li>
                                                <p> @Html.DisplayFor(modelItem => item.description)</p>
    
         --> change is here             <input type="button" id="btnFixed" data-url="@Url.Action("Delete","Reports",new{id=item.Id})" value="Fixed" class="btn btn-success"/>                                                        
                                            </li>
                                            </ul>
                                        </div>
    
                                  </a>
    
                                </li>
                                }
    

    只是一个小提示:您将有多个按钮具有相同的
    id=“btnfix”
    ,因为它位于
    @foreach
    循环中。也许向其添加某种索引是合理的,或者将其更改为
    class=“btnfix”

    尼斯也不知道,谢谢!!欢迎并很高兴它对您有所帮助,我更新了
    数据url
    属性,使其更加得体
    $(".btn-success").click(function (e) {
                        var url = $(this).data("url");
                        window.location.replace(url);
    
                    });