Forms Data Controls :: Using A Repeater To Build A Website's Site Map Page By Binding To The Web.sitemap File?
Jun 3, 2010
I've been using a repeater to build a website's site map page by binding to the web.sitemap file. For example, to display 2 levels of links:
[Code]....
So far, everything works well. However, in some cases, I do not want to display certain pages in the site map. I've added a custom attribute to each node (nodisplay= 'true').How can i check for this attibute, and avoid it from being displayed by in the repeater.
i want to build dynamic sitemap from database..even my menu items are also dynamic...and i want do display sitemap having categories and related menu items from database..
so i dont know how to build dynamic site and create dymanic links of that menus and categories..
I am trying to build a repeater dynamically through the code behind. I found this code on the microsoft site:
Protected Sub Page_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load Repeater1.HeaderTemplate = New MyTemplate(ListItemType.Header) Repeater1.ItemTemplate = New MyTemplate(ListItemType.Item) Repeater1.AlternatingItemTemplate = _ New MyTemplate(ListItemType.AlternatingItem) Repeater1.FooterTemplate = New MyTemplate(ListItemType.Footer) Repeater1.DataSource = New String() {"one", "two", "three", "four"}
[Code]....
So this code works without throwing any exceptions, but what I would like to do is accessing the DataSource inside of Sub InstantiateIn(). I know you can access the DataSource in the front end using DataBinder.Eval and Container.DataItem, but is there a way to access the data during the InstantiateIn() Sub?
Or if there is another way to do this i'm up for trying that as well. Essentially I am trying to avoid writing asp.net code, instead I would rather write everything in vb (code-behind)
I figured I'd post here while I'm scouring the internet for a solution to my problem.
This code works:
[Code]....
My DataAccess method just uses the SQL statement and returns a dataset. If I comment out the repeater DataSource and DataBind lines, it will build successfully. And I know the dataTable has the information I want because I was able to step through and see it. If I leave in the DataSource and DataBind lines, I'm not even able to step through. I have no errors and no warnings, just build failed.
*EDIT* I apologize for the ugliness of this post, I don't know what happened. I changed the repeater to a DataGrid, and still got the Build Error without any errors. I went on anyway, came back, and now everything works fine. A little bug must've crawled in while I wasn't looking.
I'm following a tutorial from [URL] to create a better menu with submenus. Does anyone know how to convert this inline code to code behind? I'm not a big fan of inline code but I have no idea on how to convert it to code behind.
I have a couple of Checkbox controls in the Item Template of a Repeater and am trying to set them (checked or not) based on an underlying data value. With Labels the <%# Bind... > syntax can be used but there does not seem to be an equivelent for a Checkbox.
So I have moved into the code, specifically the ItemDataBound handler of the Repeater control but cannot seem to instantiate the Checkbox controls.
In the handler repProjectList_ItemDataBound(object sender, RepeaterItemEventArgs e) I can instantiate the Repeater by casting sender or the RepeaterItem by using e.item and both have FindControl() methods but neither seem to find my Checkbox.
Further, once I am able to 'find' the Checkbox, I'm not sure how to reference the various values in the underlying data source.
i have a database of values that I am rendering in a table via the repeater control. (Previously I was using a gridview but I know require a repeater) I have a checkbox being 'repeated' for each record and I can get the id of each row to do some logic, but what I cannot get is whether it is checked or not as the value is null. As the database has no null values, I can only asume it is not binding for the checkboxes as current true values do not have a check in the box. The onCheckedChanged event carries out the logic required to change whether record is disabled via the database. With a gridview
Checked='<%# Bind ("Disabled")%>' was enough <td class="GridCentre"[code]....
is this done with the itemdatabound event? and how is it done?
I'm trying to bind a value to a dropdownlist. Here how the code looks like in the aspx page...Bind the textboxes below is not a problem...but its not working with the dropdownlist..
So basically, what i want is the value selected from the dropdownlist to be remembered after i press next button and back button..
I have a repeater on which I need to bind the name returned by the querystring, the binding should be don on the following request : Request.QueryString("file_type")
[Code]....
basically the file type represent a foldername on the server, and this changes depending on the request
How would I programatically reference a .sitemap file that is not the root web.sitemap file? I have a file called research.sitemap in a folder a level under root. I want to refernce this file in my code behind like his: SiteMapNode m1 = SiteMap.RootNode (but since this isnt web.sitemap in the root, I dont know how to get access to it).
I am attempting to bind a Repeater (but it could be a GridView or ListView) to a list of objects. The List's type is an abstract type, which has two different classes derived from it, both with different properties. Because they have different properties, I cannot just have one ItemTemplate. If I bind a control to a property of one type of class and the other type doesn't have it, it throws an error.
Here's where I'm at:
I cannot use <% if (whatever) { %> some stuff <% } else { %> some other stuff <% } %> because I cannot access the databound item to make the choice based on its type. I cannot use the <%# %> syntax, which lets me use the databound information, because you cannot code logic like if...then...else. I cannot (rather not) call a function and return a string with the code because what I want to render is complex and contains further nested databound controls. Has anyone found an ingenious way of doing if it is this type of object, display these controls, else display these other controls?
I have been asked to build an ASP.Net website that has a custom search, when the page is loaded it displays a gridview with a list of data, then when a button is pressed it takes the value from the text box and runs a stored procedure using the value, the gridview then databinds successfully displaying the new data. But the select button does not take the rows data it takes the data from the row corresponding to the data when the page is loaded, not from the search button.
What's the difference between binding for example a column called ("Name") in both cases ? and is there's any performance difference ?1- Assigning the data in the mark-up
2- defining a control object for every control inside the repeater ItemTemplate and find it and then assign the data in the column "Name" to ite.Item.FindControl("Name_Lbl")
Is there a way to have 2 different menus that have their items populate from 2 separate sitemap datasources?
Currently I have one menu that is populating correctly from one sitemap. I would like to remove some items from this menu and have them in another menu positioned somewhere else on my page. How can I make this second menu populate these items from a seperate datasource?
We are getting this error message when we try to click the link in the menu to go to Report Server:
Source Error: Line 31: <siteMapNode title="Reports" description="Reports"> Line 32: Line 33: <siteMapNode url="https://ffxsqldgc01.ffx.co.fairfax.va.us/Reports/Pages/Folder.aspx?ItemPath=%2fDPZ&ViewMode=List" title="View Reports" description="Click here to view the reports" /> Line 34: </siteMapNode> Line 35:
I tried to add after the &, as it was suggested on one of the forum but it did not work. Any other ideas.
have some Objects, lets say Employee and Role defined as below and I have defined relationships in my database that gives me a list of objects say employees and thanks to my framework each employee object also has a Role object linked via the RoleIDID, UserName, Password, Email, RoleIDRoleID, RoleNameSo in code I can do something like this
Now, I've refactored my code to have a data layer, business layer and the main project as the view layer. Next I'd like to split this big project smaller projects based on discrete functionality. As I understand it, one way to handle a shared masterpage is to copy it into each project, that's not the worst thing, it hasn't changed in over a year and if it does it's easy enough to propagate the changes out to the other projects.
I was also reading that I could create an assembly from my master page and share it that way. My masterpage.aspx has a reference to a asp.net sitemap, Unlike the masterpage I'd like to maintain only one site map if possible.
Builder ( Main UL , without href ) Create Builder ( Navigates to CrtBuilder.aspx) Remove Builder ( Navigates to RmvBuilder.aspx) Supplier (Main UL) Create Supplier ( Navigates to CrtSupplier.aspx ) Remove Supplier Navigates to RmvSupplier.aspx
Now if a user clicks on CreateBuilder Menu then the user must see the site map in my breadcrumb like this :
Home > Builder > Create Builder
same way for supplier :
Home > Supplier > Create Supplier
remember ( on clicking Home the page must navigates to abc.aspx)