Pregunta

Hay un montón de ejemplos de modelo de unión en los formularios HTML, pero me pregunto si es posible, y si es así cómo, vinculante uso modelo para ActionLinks / peticiones GET.

Por lo tanto, teniendo en cuenta el siguiente modelo

public class Lurl
{
  public string Str {get;set;}
  public char Chr {get;set;}
  public double Dbl {get;set;}
}

y la siguiente ruta (no estoy seguro de cómo se formaría; lo presento para mostrar cómo me gustaría la URL presenta las propiedades Str, Chr y Dbl)

routes.MapRoute(
    "LurlRoute",
    "Main/Index/{str}/{chr}/{dbl}",
    new
    {
        controller = "Main",
        action = "Index",
        lurl = (Lurl)null
    }
);

Me gustaría usarlo de esta manera en mi controlador

[AcceptVerbs(HttpVerbs.Get)]
public ActionResult Index(Lurl lurl)
{
  /* snip */
}

y de esta manera en mi página (dos opciones posibles;? ¿Hay más)

<div class="links">
  <%Html.ActionLink("Link one", "Index", new { lurl = Model })%><br />
  <%Html.ActionLink("Link two", "Index", 
         new { str = Model.Str, chr = Model.Chr, dbl = Model.Dbl })%>
</div>

¿Es esto posible con la infraestructura de enlace de modelos? Y si es así, lo que hay que hacer a mis muestras para hacer que funcionen?

¿Fue útil?

Solución

Creo que tendrá que elegir ya sea la clase como un enfoque parámetro

[AcceptVerbs(HttpVerbs.Get)]
public ActionResult Index(Lurl lurl)
{
   /* snip */
}

o las propiedades como enfoque parámetros

[AcceptVerbs(HttpVerbs.Get)]
public ActionResult Index(string str, char chr, double dbl)
{
    /* snip */
}

... aunque en la clase como un enfoque de parámetros, puede utilizar el método "UpdateModel". Puede pasar en una lista blanca de los parámetros que desea actualizar con ese método en caso de que sólo desea actualizar algunos valores en el modelo.

Además, en su MapRoute, qué parámetro se lurl mapa para en su trayectoria de la ruta? Estoy bastante seguro de que tiene que haber una una a una correlación allí.

Otros consejos

También puede utilizar un costumbre modelo ligante . También lea este .

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