Html.RenderPartial causing a loop - html

I have problem using html.RenderPartial.
For example: lets take the Account model, I took the LogOn view and copied it to a partial view and added it to the master page. When I run the app and the partial view of LogOn is open, using an ActionLink to another View from the same Model for example the Register view causing a loop and the web sticks.
The combination of these 2 commands cause a loop:
{ <%Html.RenderPartial("LogOn"); %>
<%Html.ActionLink("Register", "Register", "Account");%>}
Does anyone know how can I solve it?

Related

Laravel - Secure Way to Use SQL ids in JS/Http

I'm making a web app where users can create pages, edit them, and delete them. In developing the prototype, I have a user access a route such as:
localhost:8000/mypage/1
The "1" in the URL refers to the ID in the database, so that the controller can fetch the appropriate associated data and populate the page accordingly.
The obvious problem here is that a user can plug in any number to that URL and edit someone else's page.
One obvious fix would be to add logic that checks whether or not page '1' belongs to the Auth::user(). But this would be an if statement that I have to add to every controller that carries out such function.
When I think about other sites, they never have ID's in the URL, or if they do, they look 'encrypted' in some form. What is the best practice for changing an ID into some uninterpretable string that I frequently see done on other websites?
Thank you for any help.
why don't you just use a middleware that check if the route can be acceded by the user? then you can call it with
$this->middleware('middlewareName');
in the controller that you need it or even in the web.php if you want a whole set of routes protected

Waiting for parameters from ui-router to update causing blank data

I have a senario that has been causing me issues for the last few weeks now. I currently have a "homepage" that populates with data from a controller with sports stats. This data comes from a service that is also used for the individuals pages for this sports stats.
For instance a user is able to click one of the listings on the home page and get a detailed list of that particualar entry with a state change from sports.com to sports.com/id/sport
I do this by taking the id from the home service and pass that through the paramenters within the state for the details page. From here I use that same service with the #id as a paramenter in order to get the details for that page (using $stateParams.id).
Normally that would work fine, but here is the problem. Sometimes when hitting the details page the service fires off the get request before the $stateParams.id is availibe and I end up with an error in my request. So instead of /json.php?detail=id im getting /json.php?detail=
For a cheap fix I now have the search query waiting on a timeout for 800ms in order to give the state time to resolve the $stateParams.id and then finally send out the request. My question is, what is a better way to do this? Is this something experienced often? It seems like in all my time with angular I haven't run into this situation so I'm a bit at a lost. Thanks

How to Display an Error Page when the SQL Server is Down?

My company has an OLD webpage that was created in ASP.NET many years ago. I have never worked with ASP.NET and I'm really confused as to how I can display an error when the database is down. The web site gets information from textboxes using HMTL and asp and stores it on the database. The connection info is on a web.config file. How would I go about not showing a certain asp page if the database does not respond, and instead show an error message?
Can anyone guide me down the right path?
I've worked with a little PHP, JavaScript, Jquery, MySQL. However this is all new to me.
Also, this is a temporary fix while I revamp the webpage, but we MUST show something so the clients know it is not functioning correctly. So I'm under a lot of pressure to fix it and I'm clueless.
In your Master Page (If you have one, otherwise in each individual page) Page_Load method, add...
if(!DatabaseConnectivity.IsDatabaseUp())
{
Response.Redirect("~/DatabaseDown.aspx");
}
Add a DatabaseConnectivity.cs class to your App_Code folder. Add a function called IsDatabaseUp() to this class. In that function, do a simple query to your database. If you get an exception you can assume the database is down and return false.
public class DatabaseConnectivity
{
public static bool IsDatabaseUp()
{
try
{
SqlDataSource ds=new SqlDataSource();
ds.ConnectionString=System.Web.Configuration.WebConfigurationManager.ConnectionStrings["MYCONNSTRINGNAME"].ToString();
ds.SelectCommand="select count(*) from sys.Tables";
ds.Select(DataSourceSelectArguments.Empty);
return true;
}
catch(Exception)
{
return false;
}
}
}
Add a DatabaseDown.aspx file to the root of your site with a notification that the site is down.

$m->comp is returning infinite recursive call error

I am having trouble using HTML::Mason's $m->comp to redirect from one view to another.
There is a file say file1.mi which has embedded HTML code in this file1.mi I am using $m->comp to redirect to file2.mi.
But in the webpage whenever file1.mi is loaded it prints the footer multiple times and in the logs i am getting the errors
Nested page framework application dispatch detected, this usage is not
fully supported and may result in unexpected behavior
and
Error: APPLICATION CONTEXT ERROR (RENDER): 32 levels deep in component
stack (infinite recursive call?)
. Here is the script which i am using for redirecting from file1.mi
return $m->comp('/page-framework/dispatch.mi', applicationPath =>'/gp/tradein/omc', viewID => 'file2.mi', %ARGS);
I am using this script in file1.mi before it renders the webpage -- i.e. before any HTML scripts are executed.
I am kinda new to Mason, if you have queries regarding this please go ahead.
It looks like that your file1.mi gets loaded and rendered, then file2.mi gets executed and it in infinite loop.
Please, show us more code, it is not possible to debug with that small details.
What do you in the web server logs? Please, paste some example from loglines too.
Regards,
It should be your dispatcher dispatch.mi that is calling file1 or file2. Deciding that you want to go elsewhere after the request has already been dispatched seems like the logic is in the wrong place.

Oracle APEX - HTML Links Breaks Session and Requires New Login

Ok so here is what is happening:
I have a client that I am building an application for. My client has a flowchart that they would like posted on the front page of their application. Check. My client then wants this flowchart to be set up as an image map so that a user could click one of the boxes in this flowchart and be taken to a report in another part of the application. Check.
All of that is elementary and, in a technical sense, works. The issue is, and it is an issue I have encountered before with APEX, is that every time a user clicks one of these links it takes them to the login screen. It seems that linking directly to a page's URL breaks the session and requires you to login again, even if you are linking from one page in the application to another in the same application.
I have played with all of the authentication settings in a hopes of fixing this and tried to determine what is breaking the session exactly but with no luck.
Has anyone else had this problem and could share their method for fixing it? I really cant have users logging in every time they click a link and I also cannot simply remove the authentication on the pages. Thanks in advance.
You should pass on the session id in your links. If you don't, then apex will see this as a new session. You can tell from the url: take note of the session id in your url when you are on your image map. When you select an application, take another look at the session id part in the url. If they are different, then you are starting a new session each time.
/apex/f?p=190:90:1674713700462259:::::
190 -> application id
90 -> page id
1674713700462259 -> Session id
To pass on the session, it depends where you construct your links.
In PLSQL, you can find it through :SESSION or :APP_SESSION
For example, in a plsql dynamic region: htp.p('the session id is '||:SESSION);
In javascript code you can use $v("pInstance") to retrieve the value dynamically, or use &APP_SESSION. which will have the value substituted at runtime.
Small example:
function printsome(){
var d = $("<div></div>");
d.text('&APP_SESSION. = ' + $v("pInstance"));
$("body").append(d);
};
So you probably just need to alter the construction of your link somewhat to include the session!
I was assuming the binding variables will do the job. But they were helpless.
Best way is to pass the current session id to an item then use the item value in the link.
f?p=&APP_ID.:32:&P31_SESSION.:::P32_CUSTOMER_ID:#CUSTOMER_ID#