首页 > 解决方案 > 如何使用 jQuery AJAX 更新 ASP.NET MVC 视图数据?

问题描述

我已经尝试了多种变体,但它们似乎都不起作用。有任何想法吗?

索引.html:

@{
    var SWList = ViewData["SWList"] as List<Fostudio.Model.Software.Softwares>;
}

<div class="btn-group" role="group" aria-label="Basic example">
    <button type="button" class="btn btn-secondary" onclick="$.getScript('/Software/Index?SWType=文本编辑');">文本编辑</button>
</div>


<div class="row">
@{
    foreach (var item in SWList)
    {
        <div class="col-md-4" style="margin: 10px 0">
            <div class="card text-center">
                <div class="card-header">
                    @Html.DisplayFor(modelItem => item.Type)
                </div>
                <div class="card-block" style="margin: 10px 0;">
                    <h4 class="card-title" style="margin: 10px 0"> @Html.DisplayFor(modelItem => item.Name)</h4>
                    <p class="card-text" style="height: 40px;"> @Html.DisplayFor(modelItem => item.Description)</p>
                    <a href="@Html.DisplayFor(modelItem => item.URL)" class="btn btn-primary btn-sm" style="width: 150px; margin: 10px 0;">Get it</a>
                </div>
            </div>
        </div>
    }
}

<script type="text/javascript">
function ChangeSW(SWType) {
    $.ajax({
        url: '/Software/Index',
        type: 'GET',
        data: { SWType: SWType },
    });
}

软件控制器:

public class SoftwareController : Controller
{
    private SoftwaresBLL softwareBLL = SoftwaresBLL.GetInstance();

    public ActionResult Index(string SWType = "")
    {
        if (SWType != "")
        {
            List<Softwares> SoftwaresList = softwareBLL.GetList("where Type=@0", SWType);
            ViewData["SWList"] = SoftwaresList;
            return RedirectToAction("Software", "Index");
        }
        else
        {
            List<Softwares> allSoftwaresList = softwareBLL.GetList();
            ViewData["SWList"] = allSoftwaresList;
            return View();
        }
    }
}

我希望能够单击一个按钮并更新视图中显示的模型列表数据。我一直在调试并确保数据通过,但我的视图没有更新。我想知道这样做是否是一种好习惯,或者是否有更好的方法?

提前致谢。

标签: jqueryasp.net-mvc

解决方案


推荐阅读