1
ボタンクリックイベントで動的チェックボックスリストを生成しようとしています。インデックスページにはデータが表示されていますが、ウェブサイトページにはデータが表示されていません。 こちらは画像です。ここで動的チェックボックスリストにデータが表示されていません
は、私はより多くを提供できるためのコードと、より詳細です。ここで<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
@using System.Diagnostics.Eventing.Reader
@using RSDMS.DataAccess.Entities
@using RSDMS.Report.Model
@using RSDMS.ViewModel
@{
ViewBag.Title = "Report Module";
Layout = "~/Views/ReportModule/_ReportModule.cshtml";
var DivisionList = (IEnumerable<VmDivision>)ViewBag.DivisionList;
var DistrictList = (IEnumerable<VmDistrict>)ViewBag.DistrictList;
}
<h2 style="color: #317eac; margin-top: -5% !important">General Filter</h2>
<div class="panel panel-info class" style="height: 650px; width: 274px; margin-top: 0 !important">
<div class="panel-heading" style="background: #1995dc; text-decoration: solid;">Division</div>
<div class="panel-body">
<div>
@using (@Html.BeginForm())
{
if (DivisionList != null)
{
foreach (var p in DivisionList)
{
<table>
<tr>
<td>
@Html.CheckBoxFor(it => p.IsChecked, new {Style = "vertical-align:3px}", value = p.Id})
</td>
<td>
@Html.HiddenFor(it => p.Id)
@Html.DisplayFor(it => p.Name)
</td>
</tr>
</table>
}
}
}
</div>
</div>
</div>
<div class="panel panel-info class" style="height: 650px; width: 274px; margin-top: -670px !important; margin-left: 300px !important;">
<div class="panel-heading" style="background: #1995dc; text-decoration: solid;">District</div>
<div id="district" class="panel-body ">
@using (@Html.BeginForm())
{
if (DistrictList != null)
{
foreach (var q in DistrictList)
{
<table>
<tr>
<td>
@Html.CheckBoxFor(it => q.IsChecked, new { Style = "vertical-align:3px}", value = q.DistId })
</td>
<td>
@Html.HiddenFor(it => q.DistId)
@Html.DisplayFor(it => q.DistName)
</td>
</tr>
</table>
}
}
}
</div>
</div>
<div class="panel panel-info class" style="height: 650px; width: 274px; margin-top: -670px !important; margin-left: 600px !important;">
<div class="panel-heading" style="background: #1995dc; text-decoration: solid;">Upazila</div>
<div class="panel-body">
<label><strong><input type='checkbox'/>Upazila</strong></label>
</div>
</div>
<div>
<input type="button" class="k-button k-primary" id="bttn_Click" value="Filter District" style="width: 22%;" />
</div>
<div class="col-md-4 col-md-offset-3 text-center">
<a class="k-button k-primary" style="margin-left: 610px; margin-top: -350% !important; ; width: 30%;" href="@Url.Action("Index", "ReportModule")" title="FILTER">Filter</a>
</div>
<script>
$(document).ready(function() {
$('#bttn_Click').click(function() {
var divisionListVal = null;
divisionListVal = [];
$('input:checkbox:checked').each(function() {
divisionListVal.push($(this).attr('value'));
});
$.ajax({
type: "post",
url: '@Url.Action("GetDistricts", "ReportModule", new AjaxOptions { HttpMethod = "POST", UpdateTargetId ="#district"})',//"/ReportModule/GetDistricts",
data: { Id: divisionListVal },
datatype: "json",
traditional: true
});
});
});
</script>
AJAX呼び出しGetDistricts-
[HttpPost]
public ActionResult GetDistricts(int[] Id)
{
IEnumerable<VmDistrict> DistrictList = null;
foreach (var Districts in Id.Select(selectedId => _districtManager.GetCascadeDistrict(selectedId)))
{
DistrictList = from s in Districts
select new VmDistrict
{
DistName = s.Name,
DistId = s.Id,
IsChecked = false
};
}
ViewBag.DistrictList=DistrictList;
return PartialView("Index", "ReportModule");
}
のためのコードは、あなたが手の込んだていただけますか?ありますかjQueryスクリプトは期待どおりに動作していますか? – Rayon
また、 'divisionListVal.push(this.value);を変更します。 – Rayon
あなたはajax呼び出しを行いますが、あなたが返す結果で何もしません。 @Url.Action( "GetDistricts"、 "ReportModule")あなたの 'GetDistricts()'は何を返し、何をしたいのですか? –