Javascript NET MVC Razor,在JQuery函数中获取ID
我正在使用.net mvc和razor,并在视图中显示项目(itemRoom、itemDescription),如下所示: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">
@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);
});