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
Post a Comment