I en DataGrid kan man binda ett värde fån en SQL fråga såsom DataKeyField för att senare använda det värdet i vidare SQL frågor. Se: Jag tackar för din hjälp men då jag är helt rudis på C# så får jag inte det att fungera när jag försöker att översätta till vb.net med code behind.LinkButtons i en repeater
Ex.
<code>DataGrid1.DataSource = d1
DataGrid1.DataKeyField = ("ID")
DataGrid1.DataBind()
c1.Connection.Close() </code>
Min fråga är: Finns likanande möjligheter i en Repeater? Repeatern i sig fylls med LinkButtons och jag vill då binda ett värde från SQL frågan till dessa som jag kan använda för att leta upp en specifik rad i efterföljande SQL fråga.. Sv: LinkButtons i en repeater
http://msdn.microsoft.com/msdnmag/issues/02/01/cutting/ samt
http://msdn.microsoft.com/msdnmag/issues/05/06/CuttingEdge/
Kod som skall fungera om allt är rätt ...
<code>
public void InstantiateIn(System.Web.UI.Control container)
{
HtmlGenericControl linkButtonTemplate = new HtmlGenericControl(@"li");
linkButtonTemplate.ID = String.Format(@"lit{0}{1}", controlNamePrefix,
itemcount);
switch (templateType)
{
case ListItemType.Header:
throw new ArgumentException(@"This template type is not designed for use in
a header.");
break;
case ListItemType.Item:
case ListItemType.AlternatingItem:
LinkButton linkButton = new LinkButton();
linkButton.ID = String.Format(@"lbn{0}{1}", controlNamePrefix, itemcount);
linkButton.DataBinding += new EventHandler(linkButton_DataBinding);
linkButtonTemplate.Controls.Add(linkButton);
break;
case ListItemType.Footer:
throw new ArgumentException(@"This template type is not designed for use in
a header.");
break;
}
container.Controls.Add(linkButtonTemplate);
itemcount += 1;
}
void linkButton_DataBinding(object sender, EventArgs e)
{
LinkButton linkButton = (LinkButton)sender;
RepeaterItem container = (RepeaterItem)linkButton.NamingContainer;
linkButton.Text = (string)DataBinder.GetPropertyValue(container.DataItem,
"Text", "{0:d}");
linkButton.PostBackUrl =
(string)DataBinder.GetPropertyValue(container.DataItem, "PostBackUrl",
"{0:d}");
//linkButton.CommandName =
(string)DataBinder.GetPropertyValue(container.DataItem, "CommandName",
"{0:d}");
//linkButton.CommandArgument =
(string)DataBinder.GetPropertyValue(container.DataItem, "CommandArgument",
"{0:d}");
}
</code>Sv:LinkButtons i en repeater