2008-10-21 25 views
5

Mi código es en C# asp.net 3.5Crear hipervínculo en asp.net gridview C#

En el siguiente código de la "Msg" tiene muchas palabras y caracteres con espacios (por ejemplo: no se pudo preparar sincronización favoritos: Directorio hace no existe: \ STL-FNP-02 \ ryounes $ \ Sync \ Favorites). Este "Msg" se extrae de la base de datos a una vista de cuadrícula. No puedo crear un hipervínculo para este "Msg" en gridview. Como tiene espacios, no está creando un hipervínculo.

Necesito crear un hipervínculo para este "Msg" y luego lo uso en la consulta de linq.

Creo que uno solo usa codificador de eval o de URL. No estoy seguro de cómo hacerlo. ¿Alguien puede decir cómo hacerlo?

<asp:HyperLinkField DataTextField="Msg" HeaderText="Msg" DataNavigateUrlFields="Msg" 
    DataNavigateUrlFormatString="Sync.aspx?Msg={0}" /> 

Respuesta

4

La manera más fácil de moverse es usar algo como

<asp:TemplateField HeaderText="Msg"> 
    <asp:HyperLink runat="server" Text='<%# HttpUtility.UrlEncode(Eval("Msg")) %>' NavigateUrl='<%#Eval("Msg")%>' /> 
</asp:TemplateField> 

No es 100% seguro de que la sintaxis es correcta, pero se entiende la idea general de

0

No crea el enlace, ya que no es una URL válida, en lugar de utilizar una columna de hipervínculo más probable es que van a necesitar para migrar a una plantilla y gestionar usted mismo, o por lo menos hacer algo formateo en él.

Sería prudente independientemente de hacer un hipervínculo, ¿dónde se va a ir?

Si hay un lugar específico basado en el mensaje que usted debe ir, calcular que antes de enlazar con la red ...

Cuestiones relacionadas