It sounds like you have a .NET page serving up your angular SPA app at this 
url:
http://www.blah.com/Office/ <http://www.blah.com/Office/?officeid=52>
Index/73/

Any routes you define within that SPA app are relative to that.  So if you 
have a route define as "/admin" the URL for it would be 
http://www.blah.com/Office/ <http://www.blah.com/Office/?officeid=52>
Index/73/#!/admin

The .NET side will get the request for "http://www.blah.com/Office/ 
<http://www.blah.com/Office/?officeid=52>Index/73/" and serve up whatever 
your .NET code generates for that URL.  Presumably contains your html and 
javascript for your SPA app.  Once the pages loads and angular runs, it 
examines the rest of the URL after the #! to determine which route to use. 
 It will see "http://www.blah.com/Office/ 
<http://www.blah.com/Office/?officeid=52>Index/73/#!/admin" and only use 
the "/admin" when matching against your route configs. 

Also I see your original post you actually want URLs like:
http://www.blah.com/Office/52/staff 
<http://www.blah.com/Office/?officeid=52/staff>
http://www.blah.com/Office/52/budgets 
<http://www.blah.com/Office/?officeid=52/budgets>

If you don't want the #! in your URLs you'll need to look into html5 mode 
see https://code.angularjs.org/1.3.9/docs/guide/$location
I don't recommend going that route, it's extra complexity to setup within 
your Angular app, and on the .NET side to make it work.  If you can live 
with having the # in your URLs, I'd stick with that for now.







On Tuesday, January 27, 2015 at 10:26:36 AM UTC-6, Brian Power wrote:
>
> Thanks for your reply Nicholas. 
>
> How can my angular routes stay as they are the same? '/' points to 
> http://www.blah.com/ 
> <http://www.google.com/url?q=http%3A%2F%2Fwww.blah.com%2FOffice%2FIndex%2F73%2F%23%2F&sa=D&sntz=1&usg=AFQjCNGv33lTp_RF-rWvxxmKJ6hHJAV6EQ>
>  and 
> '/admin' points to http://www.blah.com/ 
> <http://www.google.com/url?q=http%3A%2F%2Fwww.blah.com%2FOffice%2FIndex%2F73%2F%23%2F&sa=D&sntz=1&usg=AFQjCNGv33lTp_RF-rWvxxmKJ6hHJAV6EQ>admin.
>  
> How do I tell angular "You start at  /Office/Index/73/#/ 
> <http://www.google.com/url?q=http%3A%2F%2Fwww.blah.com%2FOffice%2FIndex%2F73%2F%23%2F&sa=D&sntz=1&usg=AFQjCNGv33lTp_RF-rWvxxmKJ6hHJAV6EQ>"
>  
> rather than '/' ? I think I'm misunderstanding something fundamental here.
>
>
> thanks
> Brian
>
>
>
> On Tuesday, January 27, 2015 at 3:10:09 PM UTC, Nicholas Smith wrote:
>>
>> The routes "/" and "/admin" are relative to the URL serving your angular 
>> app.  So if your app is at "http://www.blah.com/Office/Index/73/";, then 
>> your dashboard would be at "http://www.blah.com/Office/Index/73/#/ 
>> <http://www.google.com/url?q=http%3A%2F%2Fwww.blah.com%2FOffice%2FIndex%2F73%2F%23%2F&sa=D&sntz=1&usg=AFQjCNGv33lTp_RF-rWvxxmKJ6hHJAV6EQ>"
>>  
>> and your admin screen would be "
>> http://www.blah.com/Office/Index/73/#/admin";.  Your routes can stay 
>> as-is.  As far as getting the "73" value into your angular app there are a 
>> few ways to do it.  I'm not a .NET developer but I think whatever page or 
>> script is building the "http://www.blah.com/Office/Index/73"; page could 
>> inject the "73" as a value into your page, something like:
>>
>> <script>var office_id=73;</script>
>>
>>
>>
>> On Tuesday, January 27, 2015 at 6:41:22 AM UTC-6, Brian Power wrote:
>>>
>>> Hi Guys,
>>>
>>> I read the other threads on this,but I'm still confused.
>>>
>>> We are building a web site with .net mvc. We have one complex entity, 
>>> lets say it an "Office". An office has staff, resources, budgets etc. A 
>>> user can have many offices to manage. We have other areas of the system 
>>> already built with just .Net. I have a .net view with a list of 
>>> offices. When the user clicks on one they're sent to the spa for that 
>>> Office. The request goes to a .net controller called OfficeController. 
>>> The Index method takes an Id. I want its view to be an Angular spa.
>>>
>>> My route to the spa is http://www.blah.com/Office/ 
>>> <http://www.blah.com/Office/?officeid=52>Index/73/#!/
>>>
>>> My angular stuff is in a folder called 'app' at the root of the website. 
>>> Within the spa I have links to other views of the spa. I want it to have 
>>> routes like this.
>>>
>>> http://www.blah.com/Office/52/staff 
>>> <http://www.blah.com/Office/?officeid=52/staff>
>>> http://www.blah.com/Office/52/budgets 
>>> <http://www.blah.com/Office/?officeid=52/budgets>
>>>
>>> I'm using John Papa's HotTowel demo as a starting point for my spa. In 
>>> his routing config. He has this...
>>>
>>> return [
>>>            {
>>>                url: '/',
>>>                config: {
>>>                    templateUrl: 'app/dashboard/dashboard.html',
>>>                    title: 'dashboard',
>>>                    settings: {
>>>                        nav: 1,
>>>                        content: '<i class="fa fa-dashboard"></i> Dashboard'
>>>                    }
>>>                }
>>>            }, {
>>>                url: '/admin',
>>>                config: {
>>>                    title: 'admin',
>>>                    templateUrl: app/admin/admin.html',
>>>                    settings: {
>>>                        nav: 2,
>>>                        content: '<i class="fa fa-lock"></i> Admin'
>>>                    }
>>>                }
>>>            }
>>>        ];
>>>
>>>
>>>
>>> When I can access these views via the the browser with 
>>> http://www.blah.com/Office/ 
>>> <http://www.blah.com/Office/?officeid=52>Index/73/#!/ and 
>>> http://www.blah.com/Office/ 
>>> <http://www.blah.com/Office/?officeid=52>Index/73/#!/Admin . Do I need to 
>>> "pass in" something like "Office/ 
>>> <http://www.blah.com/Office/?officeid=52>Index/73/#!/"  to angular and 
>>> build dynamic routes? 
>>>
>>>
>>>
>>> Thanks for reading
>>>
>>> Brian
>>>
>>>
>>>
>>>
>>>

-- 
You received this message because you are subscribed to the Google Groups 
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.

Reply via email to