From: Cubaman on 7 Jun 2010 09:02 On May 23, 10:56 am, "Roger Frost" <fros...(a)hotmail.com> wrote: > Greetings, > > I'm coming from a WinForms background and diving into ASP.Net. I'm using: > > C#, VS2010, .Net 4.0, ASP.Net, MVC 2. > > What I want to do is get a string[] of roles in the controller with: > > string[] currentUsersRoles = Roles.GetRolesForUser(User.Identity.Name); > > Then I want to attach this to the ViewData object (also in the controller): > > ViewData["CurrentUsersRoles"] = currentUsersRoles; > > Now, in the View I want to bind a Repeater to the array I fed to ViewData.. > Something > like: > > <asp:Repeater ID="CurrentUsersRoles" runat="server" DataSourceID="[WHAT GOES > HERE?]"> > <HeaderTemplate> > <b>Account Roles:</b> > <br /> > </HeaderTemplate> > <ItemTemplate> > <%# [WHAT GOES HERE?] %> > <br /> > </ItemTemplate> > </asp:Repeater> > > I want to do this without code behind (which I can already do with my > limited knowledge) > because using code behind defeats the purpose of using MVC in the first > place, but that's > just me. Anyhow, this should be easy right? The Repeater exists for the > sole purpose of > displaying collections efficiently, yes? So is there a collection any > simpler or more fundamental > than an array? I suspect some casting will be needed from object back to > string[], but I don't know > where to begin, all I have now is a hammer and they all look like nails to > me. > > I've been googling this for hours, but the posts I've seen all want to use > code behind to > acomplish this except this one: > > http://forums.asp.net/t/1257598.aspx > > I believe she is on the right track...at least it looks good to me, but > being the newbie that I am, I'm > stuck on the line: > > <ext:ViewDataSource ID="MyViewDataSource" runat="server" > ViewDataKey="Computers" /> > > Because evidently "ext" doesn't mean anything in asp.net. > > But, back to my point about simple-array-binding-repeater-thingamajigs, this > approach > seems like overkill for such a trivial task anyhow. > > Can someone please enlighten me? All productive answers will be extremely > appreciated! > > Thanks, > Roger Hello Roger. There is no runat="server" in MVC Views. You don't use aspnet common controls with MVC, so forget about Repeaters, DataGrids, etc. Take a deeper look at some MVC tutorials, specially a foreach loop in a view, in order to get something like a repeater effect. http://blogs.msdn.com/b/brada/archive/2008/01/29/asp-net-mvc-example-application-over-northwind-with-the-entity-framework.aspx?PageIndex=1 Best regards Oscar Acosta
From: Roger Frost on 8 Jun 2010 05:37 Oscar, Thanks for replying. While I can guarantee to a complete certainty that the following is valid in an MVC 2 View aspx page... <asp:Label ID="mylabel" Text="Some Text" runat="server"> </asp:Label> ....I will not deny that you are correct in that maybe I should not use common asp.net controls in my MVC 2 application in the first place. The further along I get the more headaches arrise. With my WinForms/Database background, coding the output manually will probably feel more comfortable anyway. To heck with markup and server tags! :) (...to a point at least) Thanks for making me think outside of the box, I'll put my hammer away now. -Roger "Cubaman" <oscar.acostamontesde(a)googlemail.com> wrote in message news:12a29f00-f27a-493e-b11d-e4bdf288d306(a)y11g2000yqm.googlegroups.com... > On May 23, 10:56 am, "Roger Frost" <fros...(a)hotmail.com> wrote: >> Greetings, >> >> I'm coming from a WinForms background and diving into ASP.Net. I'm using: >> >> C#, VS2010, .Net 4.0, ASP.Net, MVC 2. >> >> What I want to do is get a string[] of roles in the controller with: >> >> string[] currentUsersRoles = >> Roles.GetRolesForUser(User.Identity.Name); >> >> Then I want to attach this to the ViewData object (also in the >> controller): >> >> ViewData["CurrentUsersRoles"] = currentUsersRoles; >> >> Now, in the View I want to bind a Repeater to the array I fed to >> ViewData. >> Something >> like: >> >> <asp:Repeater ID="CurrentUsersRoles" runat="server" DataSourceID="[WHAT >> GOES >> HERE?]"> >> <HeaderTemplate> >> <b>Account Roles:</b> >> <br /> >> </HeaderTemplate> >> <ItemTemplate> >> <%# [WHAT GOES HERE?] %> >> <br /> >> </ItemTemplate> >> </asp:Repeater> >> >> I want to do this without code behind (which I can already do with my >> limited knowledge) >> because using code behind defeats the purpose of using MVC in the first >> place, but that's >> just me. Anyhow, this should be easy right? The Repeater exists for the >> sole purpose of >> displaying collections efficiently, yes? So is there a collection any >> simpler or more fundamental >> than an array? I suspect some casting will be needed from object back to >> string[], but I don't know >> where to begin, all I have now is a hammer and they all look like nails >> to >> me. >> >> I've been googling this for hours, but the posts I've seen all want to >> use >> code behind to >> acomplish this except this one: >> >> http://forums.asp.net/t/1257598.aspx >> >> I believe she is on the right track...at least it looks good to me, but >> being the newbie that I am, I'm >> stuck on the line: >> >> <ext:ViewDataSource ID="MyViewDataSource" runat="server" >> ViewDataKey="Computers" /> >> >> Because evidently "ext" doesn't mean anything in asp.net. >> >> But, back to my point about simple-array-binding-repeater-thingamajigs, >> this >> approach >> seems like overkill for such a trivial task anyhow. >> >> Can someone please enlighten me? All productive answers will be >> extremely >> appreciated! >> >> Thanks, >> Roger > > Hello Roger. > There is no runat="server" in MVC Views. You don't use aspnet common > controls with MVC, so forget about Repeaters, DataGrids, etc. > Take a deeper look at some MVC tutorials, specially a foreach loop in > a view, in order to get something like a repeater effect. > http://blogs.msdn.com/b/brada/archive/2008/01/29/asp-net-mvc-example-application-over-northwind-with-the-entity-framework.aspx?PageIndex=1 > > Best regards > > Oscar Acosta
From: Cubaman on 9 Jun 2010 06:16 On Jun 8, 11:37 am, "Roger Frost" <fros...(a)hotmail.com> wrote: > Oscar, > > Thanks for replying. > > While I can guarantee to a complete certainty that the > following is valid in an MVC 2 View aspx page... > > <asp:Label ID="mylabel" Text="Some Text" runat="server"> > </asp:Label> > > ...I will not deny that you are correct in that maybe I should > not use common asp.net controls in my MVC 2 application > in the first place. The further along I get the more headaches > arrise. With my WinForms/Database background, coding the > output manually will probably feel more comfortable anyway. > To heck with markup and server tags! :) (...to a point at least) > > Thanks for making me think outside of the box, I'll > put my hammer away now. > > -Roger > > "Cubaman" <oscar.acostamonte...(a)googlemail.com> wrote in message > > news:12a29f00-f27a-493e-b11d-e4bdf288d306(a)y11g2000yqm.googlegroups.com... > > > On May 23, 10:56 am, "Roger Frost" <fros...(a)hotmail.com> wrote: > >> Greetings, > > >> I'm coming from a WinForms background and diving into ASP.Net. I'm using: > > >> C#, VS2010, .Net 4.0, ASP.Net, MVC 2. > > >> What I want to do is get a string[] of roles in the controller with: > > >> string[] currentUsersRoles = > >> Roles.GetRolesForUser(User.Identity.Name); > > >> Then I want to attach this to the ViewData object (also in the > >> controller): > > >> ViewData["CurrentUsersRoles"] = currentUsersRoles; > > >> Now, in the View I want to bind a Repeater to the array I fed to > >> ViewData. > >> Something > >> like: > > >> <asp:Repeater ID="CurrentUsersRoles" runat="server" DataSourceID="[WHAT > >> GOES > >> HERE?]"> > >> <HeaderTemplate> > >> <b>Account Roles:</b> > >> <br /> > >> </HeaderTemplate> > >> <ItemTemplate> > >> <%# [WHAT GOES HERE?] %> > >> <br /> > >> </ItemTemplate> > >> </asp:Repeater> > > >> I want to do this without code behind (which I can already do with my > >> limited knowledge) > >> because using code behind defeats the purpose of using MVC in the first > >> place, but that's > >> just me. Anyhow, this should be easy right? The Repeater exists for the > >> sole purpose of > >> displaying collections efficiently, yes? So is there a collection any > >> simpler or more fundamental > >> than an array? I suspect some casting will be needed from object back to > >> string[], but I don't know > >> where to begin, all I have now is a hammer and they all look like nails > >> to > >> me. > > >> I've been googling this for hours, but the posts I've seen all want to > >> use > >> code behind to > >> acomplish this except this one: > > >>http://forums.asp.net/t/1257598.aspx > > >> I believe she is on the right track...at least it looks good to me, but > >> being the newbie that I am, I'm > >> stuck on the line: > > >> <ext:ViewDataSource ID="MyViewDataSource" runat="server" > >> ViewDataKey="Computers" /> > > >> Because evidently "ext" doesn't mean anything in asp.net. > > >> But, back to my point about simple-array-binding-repeater-thingamajigs, > >> this > >> approach > >> seems like overkill for such a trivial task anyhow. > > >> Can someone please enlighten me? All productive answers will be > >> extremely > >> appreciated! > > >> Thanks, > >> Roger > > > Hello Roger. > > There is no runat="server" in MVC Views. You don't use aspnet common > > controls with MVC, so forget about Repeaters, DataGrids, etc. > > Take a deeper look at some MVC tutorials, specially a foreach loop in > > a view, in order to get something like a repeater effect. > >http://blogs.msdn.com/b/brada/archive/2008/01/29/asp-net-mvc-example-... > > > Best regards > > > Oscar Acosta Hello Roger: Here you'll find a good tutorial to get started with mvc. Just try to don't thing in classic asp.net terms and you'll get it. http://weblogs.asp.net/scottgu/archive/2009/03/10/free-asp-net-mvc-ebook-tutorial.aspx Best regards.
|
Pages: 1 Prev: web.config and Anonymous Authentication problems ??? Next: HyperLink control and HTML encoding |