A
aualias
I am writing a custom control to display the contents of a shopping cart
within a table. The quantity of each item appears in a textbox inside a
cell. It all appears just fine on a web page, but I do not know how to
access the contents of the text boxes. Adding the runat="server" attribute
seems to have no effect.
Here is the code for Render()...
protected override void Render(HtmlTextWriter output)
{
if ( _cart == null )
throw new ApplicationException("No Cart assigned to
the ShoppingCartDisplay object");
output.AddAttribute(HtmlTextWriterAttribute.Id, _tableID);
output.AddAttribute(HtmlTextWriterAttribute.Bgcolor, _bgcolor);
output.AddAttribute(HtmlTextWriterAttribute.Bgcolor, _bgcolor);
output.AddAttribute("runat", "server");
output.RenderBeginTag(HtmlTextWriterTag.Table);
int i = 0;
foreach ( ShoppingCart.CartItem item in _cart )
{
output.RenderBeginTag(HtmlTextWriterTag.Tr);
output.AddAttribute(HtmlTextWriterAttribute.Nowrap,
String.Empty);
output.RenderBeginTag(HtmlTextWriterTag.Td);
output.Write(item.Name);
output.RenderEndTag();
output.AddAttribute(HtmlTextWriterAttribute.Nowrap,
String.Empty);
output.RenderBeginTag(HtmlTextWriterTag.Td);
output.Write(item.ProductID);
output.RenderEndTag();
output.AddAttribute(HtmlTextWriterAttribute.Nowrap,
String.Empty);
output.RenderBeginTag(HtmlTextWriterTag.Td);
output.Write(item.Price);
output.RenderEndTag();
// this is what I am trying to access...
output.RenderBeginTag(HtmlTextWriterTag.Td);
output.AddAttribute(HtmlTextWriterAttribute.Type,
"text");
output.AddAttribute(HtmlTextWriterAttribute.Id,
String.Format("nItems{0}", i));
output.AddAttribute(HtmlTextWriterAttribute.Name,
String.Format("nItems{0}", i));
output.AddAttribute(HtmlTextWriterAttribute.Value,
item.Quantity.ToString());
output.AddAttribute(HtmlTextWriterAttribute.Maxlength, "4");
output.AddAttribute(HtmlTextWriterAttribute.Size,
"2");
output.AddAttribute("runat", "server");
output.RenderBeginTag(HtmlTextWriterTag.Input);
output.RenderEndTag();
output.RenderEndTag();
output.RenderEndTag();
i++;
}
output.RenderBeginTag(HtmlTextWriterTag.Tr);
output.AddAttribute(HtmlTextWriterAttribute.Colspan, "4");
output.AddAttribute(HtmlTextWriterAttribute.Align, "right");
output.RenderBeginTag(HtmlTextWriterTag.Td);
output.AddAttribute(HtmlTextWriterAttribute.Type, "submit");
output.AddAttribute(HtmlTextWriterAttribute.Id, "btnUpdate");
output.AddAttribute(HtmlTextWriterAttribute.Name, "btnUpdate");
output.AddAttribute(HtmlTextWriterAttribute.Value, "Update");
output.AddAttribute("runat", "server");
output.RenderBeginTag(HtmlTextWriterTag.Input);
output.RenderEndTag();
output.RenderEndTag();
output.RenderEndTag();
}
}
Thanks for any help.
David
within a table. The quantity of each item appears in a textbox inside a
cell. It all appears just fine on a web page, but I do not know how to
access the contents of the text boxes. Adding the runat="server" attribute
seems to have no effect.
Here is the code for Render()...
protected override void Render(HtmlTextWriter output)
{
if ( _cart == null )
throw new ApplicationException("No Cart assigned to
the ShoppingCartDisplay object");
output.AddAttribute(HtmlTextWriterAttribute.Id, _tableID);
output.AddAttribute(HtmlTextWriterAttribute.Bgcolor, _bgcolor);
output.AddAttribute(HtmlTextWriterAttribute.Bgcolor, _bgcolor);
output.AddAttribute("runat", "server");
output.RenderBeginTag(HtmlTextWriterTag.Table);
int i = 0;
foreach ( ShoppingCart.CartItem item in _cart )
{
output.RenderBeginTag(HtmlTextWriterTag.Tr);
output.AddAttribute(HtmlTextWriterAttribute.Nowrap,
String.Empty);
output.RenderBeginTag(HtmlTextWriterTag.Td);
output.Write(item.Name);
output.RenderEndTag();
output.AddAttribute(HtmlTextWriterAttribute.Nowrap,
String.Empty);
output.RenderBeginTag(HtmlTextWriterTag.Td);
output.Write(item.ProductID);
output.RenderEndTag();
output.AddAttribute(HtmlTextWriterAttribute.Nowrap,
String.Empty);
output.RenderBeginTag(HtmlTextWriterTag.Td);
output.Write(item.Price);
output.RenderEndTag();
// this is what I am trying to access...
output.RenderBeginTag(HtmlTextWriterTag.Td);
output.AddAttribute(HtmlTextWriterAttribute.Type,
"text");
output.AddAttribute(HtmlTextWriterAttribute.Id,
String.Format("nItems{0}", i));
output.AddAttribute(HtmlTextWriterAttribute.Name,
String.Format("nItems{0}", i));
output.AddAttribute(HtmlTextWriterAttribute.Value,
item.Quantity.ToString());
output.AddAttribute(HtmlTextWriterAttribute.Maxlength, "4");
output.AddAttribute(HtmlTextWriterAttribute.Size,
"2");
output.AddAttribute("runat", "server");
output.RenderBeginTag(HtmlTextWriterTag.Input);
output.RenderEndTag();
output.RenderEndTag();
output.RenderEndTag();
i++;
}
output.RenderBeginTag(HtmlTextWriterTag.Tr);
output.AddAttribute(HtmlTextWriterAttribute.Colspan, "4");
output.AddAttribute(HtmlTextWriterAttribute.Align, "right");
output.RenderBeginTag(HtmlTextWriterTag.Td);
output.AddAttribute(HtmlTextWriterAttribute.Type, "submit");
output.AddAttribute(HtmlTextWriterAttribute.Id, "btnUpdate");
output.AddAttribute(HtmlTextWriterAttribute.Name, "btnUpdate");
output.AddAttribute(HtmlTextWriterAttribute.Value, "Update");
output.AddAttribute("runat", "server");
output.RenderBeginTag(HtmlTextWriterTag.Input);
output.RenderEndTag();
output.RenderEndTag();
output.RenderEndTag();
}
}
Thanks for any help.
David