ItemTemplate: How to create a Hyperlink with a Text property binded with a ObjectDataSource

R

RenatoGuarilha

Hi,

I've tried to create a GridView dynamically, but I'm stucked at this
point :

How can I do the Bind of HyperLink.Text property and datasource
property ?


Below is the code of my Template Class.

Thanks in advance,


Renato.

public class HyperLinkTemplate: ITemplate
{
protected string _url = "";
protected string _fieldName = "";
public HyperLinkTemplate(string url, string fieldName)
{
_url = url;
_fieldName = fieldName;
}

#region ITemplate Members

public void InstantiateIn(Control container)
{
HyperLink lnk = new HyperLink();
lnk.NavigateUrl = _url;

// HERE IS THE POINT THAT I COULD NOT SOLVE

lnk.Text = DataBinder.Eval("Container.DataItem", _fieldName);
container.Controls.Add(lnk);
}

#endregion
}
 
R

RenatoGuarilha

I've solved using this approach :


public void InstantiateIn(Control container)
{
HyperLink lnk = new HyperLink();
lnk.NavigateUrl = _url;
lnk.DataBinding += new EventHandler(HyperLink_DataBinding);
container.Controls.Add(lnk);
}

private void HyperLink_DataBinding(object sender, System.EventArgs
e)
{
HyperLink __lnk;
__lnk = (HyperLink)sender;
IDataItemContainer container =
(IDataItemContainer)__lnk.NamingContainer;
__lnk.Text += DataBinder.Eval(container.DataItem, _fieldName);
if (_isCadLink)
{
__lnk.NavigateUrl += "?ObjectId=" +
DataBinder.Eval(container.DataItem, "ObjectId");
}

}
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,537
Members
45,020
Latest member
GenesisGai

Latest Threads

Top