質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MVC

MVC(Model View Controller)は、オブジェクト指向プログラミングにおけるモデル・ビュー・コントローラーの総称であり、ソフトフェア開発で使われている構築パターンとしても呼ばれます。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

Q&A

0回答

958閲覧

ajaxでcontrollerが呼び出せない

masterofpuppets

総合スコア12

MVC

MVC(Model View Controller)は、オブジェクト指向プログラミングにおけるモデル・ビュー・コントローラーの総称であり、ソフトフェア開発で使われている構築パターンとしても呼ばれます。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

1グッド

0クリップ

投稿2018/11/07 05:23

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>&nbsp;@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でデベロッパーツールを起動してもらってコンソールも見てもらったのですが、
何も表示されていないとのことです。

本来ですと派遣先企業に確認すべきことなのでしょうが、それも諸事情あって実現困難な状況です。

もしここで掲示させていただいたコードを改修することで解決出来るのであればと思い、
投稿させていただいた次第です。

何卒よろしくお願いいたします。

dotnetuseryamag👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/11/07 06:42

認証方式は何なのですか? 部分ビュー用のアクションメソッドに付与された [Authorize(Roles = "admin, houser, user, training")] でアクセスが拒否されているとかはないですか? それ以外、今提供されている情報では想像できることもないです(多分他の人も同じではないかと思います。分かったらエスパーかも)。
masterofpuppets

2018/11/07 06:48

失礼いたしました。AspNet.Identityを用いた個別認証です。社員番号と個別パスワードで認証しております。このAuthorizeの部分ですが、このアクション以外にも使用しており、そこは問題なく認証されています。拒否されているとサイト自体が開けないので…
masterofpuppets

2018/11/07 06:49

仰る通り、こちらにご質問させていただく内容ではないのかも知れません。申し訳ございません。何かヒントを得られたら…と思い投稿させていただきました。
退会済みユーザー

退会済みユーザー

2018/11/07 07:13

ajax で error にもならないのですか? そうすると自分には分かりませんし、想像できる範囲も超えてます。そもそも人から聞いた話をベースに、さらに第三者しかいない掲示板で聞いて解決しようというのもかなりの無理があるような気がします。派遣先企業の人に Fiddler をインストールしてもらってキャプチャ結果を送ってもらえば何か分かるかもしれません。今自分が言えるのはその程度です。Fiddler のキャプチャ結果などが分かったら教えてください。
masterofpuppets

2018/11/30 02:03

ご返信が大変遅くなり誠に申し訳ございませんでした。その後、ダメ元で派遣先の責任者と相談するように依頼はしてみましが、やはり契約上NGとのことでした。12月より諸事情ありその派遣先から引き上げてくることになり、今後の追求も必要無しとなってしまいました。大変お騒がせして誠に申し訳ございませんでした。
退会済みユーザー

退会済みユーザー

2018/11/30 02:18

事情了解しました。ご丁寧に連絡いただきありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問