Pregunta

Estoy utilizando el Ajax Plantilla DataView Microsoft para enlazar los valores a una plantilla. Puedo hacer esto y funciona como era de esperar:

<h3>{{ID}}</h3>
<p>{{Address}}</p>

Sin embargo, yo estoy tratando de construir un enlace de acción que tiene el ID en ella.

<h2><%= Html.ActionLink(Html.AttributeEncode("{{Name}}"), "Index", "Restaurant", new { Id = Html.AttributeEncode("{{ID}}") }, null)%></h2>

El nombre se muestra como texto de enlace como yo quería, pero el enlace no incluye la identificación, en cambio, tiene% 7B% 7BID% 7D% 7D

¿Cómo puedo obtener el ID de ser debidamente analizada y se añade a la relación?

¿Fue útil?

Solución 2

Por último tengo que trabajar, no sé si estaba siendo estúpida o si es la falta de documentación, pero aquí es cómo enlazar el valor del dataview a un enlace.

 <h2><a sys:href="{{'Restaurant/Index/' + ID}}">{{Name}}</a></h2>

Es la parte real ruta URL tiene que estar entre comillas simples y hay que usar sys:. Href href en lugar de

Otros consejos

Es posible que los soportes adicionales están lanzando fuera. Intente asignar los valores a las variables y el uso de las variables de la ActionLink. Se podría hacer la tarea en la parte superior de la vista y luego volver a utilizar a lo largo de la vista también. para no tener que volver a codificar todas partes.

  <% var id = Html.AttributeEncode( "{{ID}}" );
     var name = Html.AttributeEncode( "{{Name}}" );
   %>
  <h2><%= Html.ActionLink(name, "Index", "Restaurant", new { Id = id }, null)%></h2>

Su buena práctica incluir '<%= Url.Action("Index", "Restaurant")%>' cuando se construye un URL manual para evitar problemas con el nombre de la aplicación y las direcciones URL en conflicto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top