jquery - Get tempdata/ session/viewbag values in external javascript file -


i have custom authorizeattribute defined in when user unauthorized setting tempdata["unauthorized"]=true. trying access value in external javascript file referenced in cshtml view, uanble value, errs out below custom authorize piece

protected override void handleunauthorizedrequest(authorizationcontext filtercontext)     {         filtercontext.result = new redirectresult("/");         base.handleunauthorizedrequest(filtercontext);          if (!filtercontext.httpcontext.user.identity.isauthenticated)         {             //if not logged, work normal authorize , redirect login             base.handleunauthorizedrequest(filtercontext);         }         else         {             filtercontext.controller.tempdata ["unauthorized"] = true;             filtercontext.result = new redirectresult("/error");         }     } 

this how trying access in external .js file

function setdata(data) {         var test = tempdata["unauthorized"];         if (!test)         {             $('#setmodal').html(data);             $('#setmodal').dialog('open');         }      } 

i unable retrieve value stored in tempdata. please suggest. using asp.net mvc 5, jquery, c#

put script in razor view store value in javascript variable , can use value in external file.

razor:

@section scripts {     <script type="text/javascript">         var unauthorized = '@tempdata["unauthorized"]';     </script>     <script type="text/javascript" src="~/content/scripts/external.js"> } 

external.js

if(unauthorized) {     alert("unauthorized"); } 

Comments