2017-06-21 12 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(「 – Curiousdev

+1

@Curiousdevはスムーズに動作しました。ありがとう – kielou

+1

@マークなし 'HTML'を返さない例ではajaxが別のアクションを参照していますAction @ @ Url.Action(" CreateDisease "、" DiseaseLists ")' – Curiousdev

答えて

2

Curiousdevが言ったようにコメントの中で、私はちょうど私のjqueryでいくつかのコードを変更しました

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

今後の参照のために受け入れられたと答えた方は – Curiousdev

+2

@Curiousdev私はしますが、2日待つ必要があります – kielou

関連する問題