Eventos
19 de nov., 23 - 21 de nov., 23
Participe de sessões online no Microsoft Ignite criadas para expandir suas habilidades e ajudá-lo a lidar com os problemas complexos de hoje.
Registrar agoraNão há mais suporte para esse navegador.
Atualize o Microsoft Edge para aproveitar os recursos, o suporte técnico e as atualizações de segurança mais recentes.
Valor | |
---|---|
ID da regra | MVC1004 |
Correção interruptiva ou sem interrupção | Quebra |
Um parâmetro associado ao modelo tem o mesmo nome de uma de suas propriedades.
A associação de modelo a um parâmetro complexo com uma propriedade com o mesmo nome pode resultar em um comportamento de associação inesperado. Considere renomear o parâmetro ou usar um atributo de associação para especificar um nome diferente.
Considere o seguinte código:
public class HomeController : Controller
{
public IActionResult Get(SearchModel search)
{
...
}
}
public class SearcModel
{
public string Search { get; set; }
}
Nesse modelo, o parâmetro e sua propriedade são chamados Search
, o que resulta em uma associação de modelo tentando associar a propriedade como search.Search
. Nomear um parâmetro e sua propriedade da mesma forma impede a associação a um valor sem um prefixo, como uma consulta semelhante a ?search=MySearchTerm
.
public IActionResult Get(SearchModel model)
{
...
}
Renomear um parâmetro em um tipo público pode ser considerado uma alteração interruptiva, pois ele altera a superfície de API pública de uma biblioteca.
Bind
para especificar o prefixo de associação de modelo:public IActionResult Get([Bind(Prefix = "")] SearchModel search)
{
...
}
Os avisos poderão ser suprimidos se você pretende usar o nome do parâmetro como um prefixo durante a associação de modelo.
Comentários do ASP.NET Core
O ASP.NET Core é um projeto código aberto. Selecione um link para fornecer comentários:
Eventos
19 de nov., 23 - 21 de nov., 23
Participe de sessões online no Microsoft Ignite criadas para expandir suas habilidades e ajudá-lo a lidar com os problemas complexos de hoje.
Registrar agora