{tecnologia, conceitos, negócios, idéias, práticas, .NET, ruby, osx, ios e algo mais}
18/02/2011
Para acompanhar os outros posts sobre AjaxOptions:- UpdateTargetId - Confirm message - LoadingElementId - OnBegin e OnComplete InsertionMode é uma propriedade bem interessante. Ela define como o conteúdo será carregado no elemento especificado.Isto quer dizer que podemos definir o conteúdo para ser inserido antes do conteúdo já existente no elemento, após o conteúdo existente ou ainda substituir completamente o conteúdo. Fazemos isso utilizando um dos valores da enumeração InsertionMode: - InsertionMode.InsertAfter - InsertionMode.InsertBefore - InsertionMode.Replace Vamos utilizar o exemplo cru do primeiro artigo, e vamos apenas trabalhar alterando o valor da propriedade InsertionMode do objeto AjaxOptions.Vou utilizar também uma div com um conteúdo já existente, para demonstrar as diferenças:
Já existe conteúdo
</div>
O código para nosso form irá varias como mostra abaixo com InsertBefore:
@using (Ajax.BeginForm( "AjaxAction", new AjaxOptions { UpdateTargetId = "div_nome", InsertionMode = InsertionMode.InsertBefore}
)){ @Html.TextBox("nome")<br /> @Html.TextBox("sobrenome") <input type="submit" value="ajax" />}
Com InsertAfter:
@using (Ajax.BeginForm( "AjaxAction", new AjaxOptions { UpdateTargetId = "div_nome", InsertionMode = InsertionMode.InsertAfter}
)){ @Html.TextBox("nome")<br /> @Html.TextBox("sobrenome") <input type="submit" value="ajax" />}
E com Replace:
@using (Ajax.BeginForm( "AjaxAction", new AjaxOptions { UpdateTargetId = "div_nome", InsertionMode = InsertionMode.Replace}
)){ @Html.TextBox("nome")<br /> @Html.TextBox("sobrenome") <input type="submit" value="ajax" />}
Os resultados podem ser vistos, na mesma ordem, abaixo:
É isso aê galera, simples não? Definimos o comportamento de como e onde as coisas serão carregadas na página. Vale ressaltar que o comportamento padrão, caso nenhuma seja informado, é Replace.
O fonte deste e outros exemplos estão no Github: https://github.com/vquaiato/ajaxhelpersamplesAbraços,Vinicius Quaiato.