2017-06-21 61 views
3

我有項目,當我插入某些東西時,我只想刷新局部視圖或表格。當我點擊按鈕插入它插入,但不加載表,該表將只顯示爲空使用jQuery .load()函數渲染部分視圖

查看:

@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()); 
    } 
+1

嘗試像這樣'$('#tbl-disease')。load( '@ Url.Action(「_ DiseaseList」,「DiseaseLists」,new {assessmentID = assessmentID})' );' – Curiousdev

+1

@Curiousdev它工作順利。謝謝 – kielou

+1

@標記不會返回'HTML'在示例中的ajax指的是不同的動作'@ Url.Action(「CreateDisease」,「DiseaseLists」)' – Curiousdev

回答

2

正如Curiousdev說在評論中,我只是改變了我的jQuery的一些代碼

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

請將您的答案標爲未來的參考 – Curiousdev

+2

@Curiousdev我會,但我需要等待2天 – kielou