Inquiridor
DataBoud - Ajuda

Pergunta
-
Bom, estava utilizando o Eval quando me deparo com um erro, então achei um tal de "DataBound" vi um artigo porém não entendi muito bem, não sei absolutamente nada sobre o mesmo e gostaria de usa-lo para criar query-strings em meu repeater, caso alguém possa me dar um tutorial explicando cada linha agradeço
Todas as Respostas
-
Se quiser fazer direto pode utilizar: <% Request.QueryString["SuaQueryString"].ToString(); %>
Pode ser que não funcione, pois o controle pede uma fonte de dados (dataSource).
Normalmente eu utilizou o "Eval" quando preencho o controle via código.
ótimas fontes:http://www.macoratti.net/aspn_rep.htm
http://www.macoratti.net/07/07/aspn_rpr.htm
http://www.dotnetinterior.com.br/v1/?p=365
Existe mesmo a necessidade de utilizar um repeater??? Se for para valores que você recebe pela querystring não vejo necessidade.
--
Marque as respostas e ajude a melhorar a busca do fórum.
- Editado Paulo César Viana quinta-feira, 22 de setembro de 2011 12:55
-
-
-
-
Amigo, veja se o exemplo abaixo lhe ajuda:
para a classe:
public class Noticia { public int Id { get; set; } public string Titulo { get; set; } }
monto a seguinte coleção:List<Noticia> Noticias = new List<Noticia>() { new Noticia(){Id = 1, Titulo="Lançado a .Net Framework 4.5"}, new Noticia(){Id=2, Titulo="Lançado Preview do Windows 8"}, new Noticia(){Id=3, Titulo="Microsoft Windows Phone 7.5 codename Mango, será lançado próximo mês"} }; Repeater1.DataSource = Noticias; Repeater1.DataBind();
Estruturo meu LinkButton dentro do repeater da seguinte maneira:<asp:Repeater ID="Repeater1" runat="server"> <ItemTemplate> <asp:LinkButton runat="server" ID="lkb" CommandArgument ='<%#Eval("Id") %>' Text = '<%#Eval("Titulo") %>' OnCommand="LinkButton_Click"></asp:LinkButton> </ItemTemplate> </asp:Repeater>
veja que estou pegando dinamicamente tanto o título da notícia quando o ID que estou passando através da propriedade CommandArgument. O método do click será o mesmo para todos os LinkButtons, veja como ele será:
protected void LinkButton_Click(object sender, CommandEventArgs e) { Response.Redirect(string.Format("~/Noticia.aspx?id={0}", e.CommandArgument)); }
Olavo Oliveira Neto
http://olavooneto.wordpress.com
Se for útil marque como resposta e faça um Developer feliz :)- Sugerido como Resposta Olavo Oliveira Neto sexta-feira, 23 de setembro de 2011 16:12
-
André, o exemplo o Olavo está perfeito.
A querystring você vai recuperar apenas 1 vez e vai utilizar para buscar a notícia pelo código:
protected void Page_Load(object sender, EventArgs e) {
if (!IsPostBack)
{ if (Request.QueryString["IdNoticia"] != null) { int IdNoticia = int.Parse(Request.QueryString["IdNoticia"].ToString()); SeuMetodoParaCarregarNoticiaPorId(IdNoticia); }
} }
--
Marque as respostas e ajude a melhorar a busca do fórum.- Editado Paulo César Viana sexta-feira, 23 de setembro de 2011 02:51