【问题标题】:Hide item after deleting it with ajax in asp.net mvc在asp.net mvc中使用ajax删除项目后隐藏项目
【发布时间】:2015-05-29 15:27:58
【问题描述】:

在我的 asp.net mvc4 应用程序中,我有一个 portfilio 列表,我使用 ajax 删除投资组合项目,我想隐藏

<li> 

它的项目已被删除。我怎样才能做到这一点。这是我的看法:

<ul >
@foreach (var item in Model.Portfolios)
{
    <li >
        <div class="row">
            <div class="col-xs-4">                  
            </div>                                  
                @using (Ajax.BeginForm("Delete", "Admin", new AjaxOptions
                {
                    HttpMethod = "post",
                    OnBegin = "beginRequest",
                    OnComplete = "endRequest",
                    OnSuccess = "successRequest",
                    OnFailure = "failRequest"

                }))
                {                                
                    <div class="form-group">
                        <input type="hidden" value=@item.PortfolioId id="id" name="id" />
                        <input type="submit" value="delete" >
                    </div>
                }                                      
        </div>
    </li>
}
</ul>

使用 Jquery 是最佳实践吗?如果是,我该如何访问

<li>

感谢您的回答

【问题讨论】:

  • 你需要类、数据属性之类的 li 或其中的内容来为该 li 执行 jquery 选择器。假设您在 li 中添加了一个“已删除”类,那么它将是 $('li.deleted')
  • 还有一个问题,如何在运行时将'deleted'类应用到li?
  • 在您的 successRequest javascript 函数中。假设如果项目被删除,则达到 OnSuccess 函数。检查这个问题以了解更多关于它的使用。 stackoverflow.com/questions/19691810/…

标签: jquery asp.net ajax asp.net-mvc asp.net-mvc-4


【解决方案1】:

Jquery 是一个很好的解决方案:

在您的 HTMl 中,您需要向列表元素添加一个 Id 或唯一值

<li id="@item.Id">

在您的 sucessRequest 中传递您所在元素的 ID

 OnSuccess = "successRequest("+item.Id+")",

在您的 sucessRequest 中,您需要执行隐藏操作,即添加类或只是隐藏它

function  successRequest(itemId){
$('#'+itemId).hide();
}

【讨论】:

    猜你喜欢
    • 2016-06-19
    • 2011-04-12
    • 2018-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-14
    • 1970-01-01
    相关资源
    最近更新 更多