Я пробовал несколько вариантов этого, но ни один из них, кажется, не работает.Есть идеи?
Index.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 },
});
}
SoftwareController:
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();
}
}
}
Я хочучтобы можно было нажать кнопку и обновить данные списка моделей, показанные на виде.Я отладил и убедился, что данные переданы, но мое мнение не обновляется.Я хотел бы знать, является ли это хорошей практикой или есть лучший способ сделать это?
Заранее спасибо.