ASP.NET MVC5で社外の社員もアクセスできるサイトを作成しました。
社内からですと問題無く閲覧出来るのですが、社外の一部の社員から一部分が見れないと連絡がありました。
ここで社外の社員と申しますのは、別企業に派遣で勤務している社員のことです。
かつ見れないという部分は、ajaxを使用してコントローラーを呼び出し、データベース(SQLServer2014)よりデータを取得し、
PartialViewで表示するという部分です。
(派遣先企業のPC環境はWIndows7+IE11,Windows10+Edge)
IEのスクリプト許可状態をスクリーンショットを送ってもらって確認したのですが、無効化にはなっておりませんでした。
ソースコードの方ですが、
【Controller】
[Authorize(Roles = "admin, houser, user, training")] [HttpPost] public ActionResult GetPaidHolidays() { return PartialView("_PaidHolidays", PortalEdisonRepo.GetAllPaidHoliday()); }
【View(Partial)】
@model IEnumerable<Portal.Models.PaidHolidayModels> <div class="panel panel-default"> <div class="panel-heading" style="background-color: #686459;"> <h4 class="panel-title"> <a class="collapsed"> <strong><span class="colWhite"><i class="far fa-fw fa-clock"></i> @DateTime.Now 時点</span></strong> </a> </h4> </div> <div class="panel-body" style="padding:5px;"> <table class="table table-striped"> @{ if (Model.Count() == 0) { <tr><td>現時点の届け・連絡はありません。</td></tr> } else { foreach (var item in Model) { <tr> <td>【@Html.DisplayFor(modelItem => item.typeName)】</td> <td>@Html.DisplayFor(modelItem => item.employeeName)</td> <td>@Html.DisplayFor(modelItem => item.companyName)</td> <td>@Html.DisplayFor(modelItem => item.remarks)</td> </tr> } } } </table> </div> </div>
【呼出元Viewのスクリプト】
$.ajax({ url: '@Url.Action("GetPaidHolidays", "Home")', cache : false, type: "POST", contentType: "application/json; charset=utf-8", dataType: "html", success: function (data) { $('#result3').html(data); }, error: function (xhr, status, error) { var msg = "Response failed with status: " + status + "</br>" + " Error: " + error; $('#result3').html(msg); }, complete: function (xhr, status) { var doneMsg = "Operation complete with status: " + status; //alert(doneMsg); } });
呼出元Viewのタブパネルをクリックすると、上記スクリプトが起動する仕組みです。
F12でデベロッパーツールを起動してもらってコンソールも見てもらったのですが、
何も表示されていないとのことです。
本来ですと派遣先企業に確認すべきことなのでしょうが、それも諸事情あって実現困難な状況です。
もしここで掲示させていただいたコードを改修することで解決出来るのであればと思い、
投稿させていただいた次第です。
何卒よろしくお願いいたします。
あなたの回答
tips
プレビュー