.Net Copiar ID Datafield em um parâmetro de URL de navegação por hiperlink
Pergunta
Eu tenho um projeto .Net 2.0 onde gostaria de pegar o valor do campo vinculado do ID e passá-lo para o construtor da string de consulta do URL de navegação de um campo de hiperlink.
<asp:BoundField HeaderText="ID" DataField="ID"></asp:BoundField>
<asp:hyperlinkfield HeaderText="Page Link" DataTextField="title" text="{0}" navigateurl="~\page.aspx?id={THE ID VALUE}" />
Assim, em cada linha, o link teria o ID da página na string de consulta.
<a href="page.aspx?id=1234">
Não sei se o método DataControlField.CloneField ou CopyProperties podem ajudar.Será que você pode postar um exemplo de como usá-los neste caso?
No codebehind, não tenho nenhum evento de ligação de dados.Eu tenho um Viewstate que é preenchido a partir do conjunto de dados de um SQL View.
Solução
Presumo que você esteja usando um controle GridView.
Aqui está um exemplo de como você pode conseguir o que está tentando fazer:
<asp:GridView ID="myGridView" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:BoundField HeaderText="ID" DataField="ID"></asp:BoundField>
<asp:TemplateField>
<ItemTemplate>
<a href="page.aspx?id=<%# Eval("ID") %>"><%# Eval("DynamicTitle") %></a>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
Outras dicas
Experimente o seguinte código:NavigateUrl = '<%# String.Format ("~ Page.aspx? Id = {0}", Databinder.eval (container.dataitem, "id"))%>'
Certifique-se também de que o DataSet esteja vinculado ao controle do código por trás.