Pergunta

Existem toneladas de exemplos para obrigatório em formulários HTML modelo, mas eu estou querendo saber se é possível, e se assim como, ligando o uso modelo para ActionLinks / GET solicitações.

Assim, dado o seguinte modelo

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

e a seguinte rota (eu não sei como isso seria formado, eu apresentá-lo para mostrar como eu gostaria o URL apresenta as propriedades Str, CDH e Dbl)

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

Eu gostaria de usá-lo desta forma no meu controlador

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

e desta forma em minha página (duas opções possíveis;? Existem mais)

<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>

Isso é possível com a infra-estrutura de ligação modelo? E se assim for, o que precisa ser feito para minhas amostras para obtê-los a trabalhar?

Foi útil?

Solução

Eu acho que você tem que escolher tanto a classe como uma abordagem parâmetro

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

ou as propriedades como parâmetros aproximar

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

... embora na classe como uma abordagem parâmetro, você pode usar o método "UpdateModel". Você pode passar em uma lista branca de parâmetros que deseja atualizar com esse método apenas no caso de você só quer atualizar alguns valores no seu modelo.

Além disso, em seu MapRoute, o parâmetro irá lurl mapear para em seu caminho rota? Tenho certeza que tem de haver um 1-1 correlação lá.

Outras dicas

Você também pode usar um costume modelo fichário . Leia também este .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top