C# - Generating A Literal For Each Item In An Item Collection?
Oct 21, 2010
As it stands right now, I have a literal control on my page. In my code-behind, I'm using StringBuilder to generate some JavaScript. Also on that page I have a item collection. What I want to do is for each item in my item collection, generate my literal which will in essence generate my JavaScript. Here is an example of my code-behind now. I'm ok with doing something different, but I just need to generate said JavaScript for every item in the collection and I'm not sure how to do it.
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append("<script type='text/javascript'>");
sb.Append("mboxCreate("product_productpage_rec",");
sb.Append(""entity.id=" + _prodID + "",");
sb.Append(""entity.categoryId=" + _categoryID + "",");
sb.Append(""entity.name=" + _prod.Title + "",");
sb.Append(""entity.pageURL=" + Request.Url.ToString() + "",");
//The following value has been taken from the productImageControl code behind.
//Might have to refactor in future as a property of the image control.
string filename = AppSettingsManager.Current.ProductImagePathLarge + _prod.ActiveProductItemCollection[0].Sku + AppSettingsManager.Current.ProductImageExtension;
sb.Append(""entity.thumbnailURL=" + filename + "",");
sb.Append(""entity.inventory=" + _prod.ActiveProductItemCollection.Count + "",");
sb.Append(""entity.value=" + _prod.ActiveProductItemCollection[0].ActualPrice + "",");
sb.Append(""entity.ProductItemID=" + prodItem.Id + "",");
sb.Append(""entity.addToCartImg=~/Images/Buttons/btn_AddToCartFlat.gif");<");
//The last line has to be /script. < inserted on prev line. do not change it or bad things will happen.
sb.Append("/script>");
//add script to page
this.LiteralMBoxScript.Text = sb.ToString();
I have a collection of Contacts that inherits from CollectionBase:
public class ContactCollection : CollectionBase{ //... }
each contact in the collection has a unique ID:
public class Contact{ public int ContactID{ get; private set; } //... }
I think what I would like to do is something like the following:
// get the contact by their unique [Contact]ID Contact myPerson = Contact.GetContactById(15); // get all contacts for the customer ContactCollection contacts = customer.GetContacts(); // replaces the contact in the collection with the // myPerson contact with the same ContactID. contacts.ReplaceAt(myPerson); // saves the changes to the contacts and the customer // customer.Save();
There are quite a few questions around this topic,but I can't seem to get it figured out.I'm trying to bind a listbox to an ObservableCollection and keep the listbox updated when items are added to the collection.
[code]...
Beyond this, I have a simple textbox and button on a page.When a name is entered into the textbox,and the button is clickedI call the addBlog(passing in name from textbox) sub routine in the ITRSBlogs Class (back up the page a bit) to add the item to the collection.Problem is,when I add an item to the collection,the listbox is not updated.I'm new to Observable Collections (and many other things : ),so maybe I'm just really off here.
I have never done jquery and need some assistance/advice on something I am trying to do.I basically have an ASP.NET MVC Application. What I want to do is, asynchronously be able to do a partial postback when a button is pressed.It's a simple application that should add items and retrieve existing items from an IEnumberable<T> collection.
so, when a button is pressed, it should be able to add the item into the collection on the ASP.NET site without having to do a full postback.
Wat i did is in the first header of gridview dropdownlist i have binded the PO Item , so that user can select item n make invoice...
Here the problem is user will click addnewrow button to create new row second row , again user is able to select the same item what he selected in first row of gridview. here how to avoid duplication in the second row .
Say i have four PO item
Item1,Item2,Item3,item4
user may select Item1 in first row , after clicking addnewrow button user will get second row
here again user is able to select Item1 from dropdownlist ... how to avoid duplicate selection
coz the dropdownlist is binded from database using sqldatasource n filter based on user selected PO no.
Duplicate Item selection should be removed until all the four item is selected ...
I am using aspnet menu control and i want to hide the item initially on page load and show the item after an event is trigger say button lick event Can any one give me an example?
I have a list with 2 sorts of items. Items that have actual values (1,2,3,4 etc) and items that are like group headings so all their values are set to 0. If someone decides to select a group heading - which has a value of 0, is it possible to redirect them to my 'Select an item' item which has a value of ""?
If worse comes to worse, I can just reconstruct the entire list, although if possible I'd like to avoid it.
I have a project that queries a set of times from a database and uses these entries to populate a dropdownlist. Once the page is loaded, the user can select one of the items in the DropDownList. When the "Save" button is clicked, the Selected item value is returned to the [HttpPost] version of the controller action. This item is then stored into session. If the system returns to the page containing the dropdown, I want the saved Value to be selected in the DropDownList. What actually happens is that the DropDownList is always set to be the first item in the list.
Database Table: This data has been imported using Link to SQL
I use a ItemDataBound for a repeater.But i use 2 kinds of linq querys to bind it.Some of them has a MerkID, and some doesnt have this item.So its easy i need to do this:
if(e.Item.DataItem.Contains("MerkID"))
{ //Code for linq query 1
} [code]...
So of course the if selection doesnt work, but how can i do that? I already tryed this:
DataRowView drv = (DataRowView)e.Item.DataItem; if (drv.Row.Table.Columns.Contains("MerkID"))
But that doenst work because he cant convert it to a datarowview because its a linq class.So what to do? Right now i use a try and catch, but there are better solutions i guess...
Error 1 'System.Data.OleDb.OleDbDataReader' does not contain a definition for 'Item' and no extension method 'Item' accepting a first argument of type 'System.Data.OleDb.OleDbDataReader' could be found (are you missing a using directive or an assembly reference?)Â
public partial class Default2 : System.Web.UI.Page { System.Data.OleDb.OleDbConnection Con = new System.Data.OleDb.OleDbConnection(System.Web.Configuration.WebConfigurationManager. ConnectionStrings("MyConnectionString").ConnectionString); protected void Page_Load(object sender, EventArgs e)
Here when i click on button it insert all data into table but it didn't insert my selected item from dropdownlist it insert select city that i define in page_load
 DDL1.Items.Insert(0, new ListItem("select city", "0"));
And when i delete this code from page load it insert in table first row of my table it didn't insert my selected item from dropdown list.
I am trying to get a drop down and a form view to work together. I've never used form views before. I also am using the entity framework to do everything. This is also my first time with it.
I want to be able to have a drop down, that is populate from the same data source as the form view. So far that works fine.
I then want to be able to change the drop down item, and it change the form view item that is displayed. I cannot figure out how to make this work.
here the method OnItemDataBound , look at how it work
[Code]....
problem is the e.Item always get one and only one last item . turn out my listview display many rows but with a consistent content of the last user (in the database record) . How can i resolve this ?? any creative method are accepted , i'm just want to finish this project
What I need is if I select default item i.e. 0 in Zone dropdown I need to show all items in store dropdown. Below is my stored procedure to get the stores
ALTER procedure [dbo].[selectcenter] @RegionID varchar(5) as begin select ID,Centername from Shoppingcenter where RegionID=@RegionID group by ID,Centername end
I have a listview set up in "flow" mode where the existing records are all on an extended page so you can scroll down to any record.
The InsertItem Template is in the first position, making it easy to insert a new record.
And one can scroll down the page to any record, click the edit button and update that record -- nice having everything on one scrollable page.
I am running into a problem with validations. I have validation controls restricting inputs for all the textboxes on the Insert Item template. They work fine. And on Item Inserted I am running a page validation:
Page.Validate() If Not Page.IsValid Then e.Cancel = True End If
which works fine also.
The problem occurs when I scroll down to an existing record, and go to edit it. I have all the same validation constraints on the textboxes for the EditItemTemplate as I have on the InsertItemTemplate. But I cannot successfully do a page validation on updating the record. The code I am using on update is:
Protected Sub LVRentals_ItemUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.ListViewUpdateEventArgs) Handles LVRentals.ItemUpdating Page.Validate() If Not Page.IsValid Then e.Cancel = True End If End Sub
This results in a Cancel even if there are no validation errors on the InsertItemTemplate because the Page.Validate() seems to be causing the InsertItemTemplate to think its fields should be filled out also.
Here is the code for a typical entry of the InsertItem Template:
[code]....
All the controls in the Edit Item template are part of ValidationGroup "edit1" and those of the InsertItem Template are part of ValidationGroup "edit2"
How can I get around receiving validation errors on the InsertItem Template when I am trying to validate just the EditItemTemplate when both are present on the page?
I have a site where users can save images together with a couple of info fields about the image. The images are stored as binary data in the same table as the rest of the image info. So far pretty standard.
Now, the users should be able to upload a document, describing the image in more detail, along with the rest of the image and its' info. Size ~2MB per document.
My question is: Should I store this document (binary data) in the same table as the rest of the images or should I create a new table holding only the documents. There would of course be an id reference in the image table to the document in the document table.
I have a search function joining a couple of tables, including the image table, when searching for images. I need to know if there's a difference in efficiency between these two solutions. I always fetch the document data separately but if I don't win anything in having the documents in a separate table I'll just put it with the rest of the image info.
I'm asking this since I don't really know how SQL Server handle tables when joing and searching in them.
I have about 10´000 users with a maximum of 10 images per user. (ASP.NET - SQL Server) (I'm not asking if I should store documents in the database, but how ;)
Edit Example 1: columns in imageTable - id, title, dateAdded, image (binary data), document (binary data)
Searching for items from a specific user I would join the userTable and the imageTable and select title where image id equals user id.
So, will there be any difference in the performance if the document is in the imageTable or in an own table?