【问题标题】:Render Partial View using jQuery .load() function使用 jQuery .load() 函数渲染局部视图
【发布时间】:2017-06-21 05:37:41
【问题描述】:

我有一个项目,当我插入一些东西时,我只想刷新部分视图或只刷新表格。当我单击按钮插入时,它会插入但不加载表格,表格只会显示为空

查看:

@model ClinicManagemet.Models.Assessment

@{
ViewBag.Title = "Update Assessment";
}
<script src="~/Scripts/jquery-3.1.1.min.js"></script>
<script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script>
<h2>Assessment</h2>
<script>
    $(document).ready(function () {
        $('#btn-disease').click(function () {
            var diseaseID = $('#DiseaseID').val();
            var assessmentID = $('#AssessmentID').val();
            var urll = '/DiseaseLists/_DiseaseList?id=' + assessmentID;
            $.ajax({
                type: "POST",
                dataType: "Json",
                data: {
                    'diseaseID': diseaseID,
                    'assessmentID': assessmentID
                },
                url: '@Url.Action("CreateDisease", "DiseaseLists")',
                success: function (f) {
                    $('#tbl-disease').load(urll);
                    alert(f);
                }
            })
        })
    })
</script>
@Html.HiddenFor(model => model.AssessmentID)
<div class="form-group">
    @Html.LabelFor(model => model.DiseaseID, "DiseaseID", htmlAttributes: new { @class = "control-label col-md-2" })

    <div class="col-md-10">
        @Html.DropDownList("DiseaseID", null, htmlAttributes: new { @class = "form-control" })
        @Html.ValidationMessageFor(model => model.DiseaseID, "", new { @class = "text-danger" })
    </div>
</div>
<div class="form-group">
    <div class="col-md-offset-2 col-md-10">
        <input type="submit" id="btn-disease" value="Add" />
    </div>
</div>
<div class="form-group">
    <div class="col-md-offset-2W col-md-10">
        <div id="tbl-disease">
            @{
                Html.RenderAction("_DiseaseList", "DiseaseLists", new { Model.AssessmentID });
            }
        </div>
    </div>
</div>

部分视图控制器:

public ActionResult _DiseaseList(int? assessmentID)
    {
        var diseaseLists = db.DiseaseLists.Include(d => d.Assessment).Include(d => d.Disease).Where(d => d.AssessmentID == assessmentID);
        return PartialView(diseaseLists.ToList());
    }

【问题讨论】:

  • 试试这样$('#tbl-disease').load( '@Url.Action("_DiseaseList", "DiseaseLists",new {assessmentID = assessmentID})' );
  • @Curiousdev 它运行顺利。谢谢
  • @Mark 不,它不会返回 HTML 示例中的 ajax 指的是不同的 Action @Url.Action("CreateDisease", "DiseaseLists")
  • @kielou 很棒 :)
  • 更多参考资料:jQuery.load() & jQuery.html()

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


【解决方案1】:

正如 Curiousdev 在评论中所说,我只是在我的 jquery 中更改了一些代码

$('#tbl-disease').load( '@Url.Action("_DiseaseList", "DiseaseLists",new {assessmentID = assessmentID})' );

【讨论】:

  • 请将您的答案标记为已接受以供将来参考
  • @Curiousdev 我会,但我需要等待 2 天
猜你喜欢
  • 2023-03-30
  • 1970-01-01
  • 2011-04-08
  • 1970-01-01
  • 2016-11-13
  • 2010-12-06
  • 2011-11-17
  • 2013-01-13
相关资源
最近更新 更多