INSERIR LINHAS EM UMA TABELA DE UMA PARTIAL VIEW

MOZARTJUNIOR 23/09/2016 11:05:26
#467362
Tenho a seguinte situação :
Tenho uma página onde tenho um campo e um botão, nesse campo o usuário informa a matricula do cliente e no click do botão vou no banco verifico se a matricula existe e então logo abaixo do botão carrego a matricula e nome do cliente. Caso a matricula informada já esteja na tabela não deixar incluir em duplicidade e assim pode ser incluída quantas matriculas o usuário desejar.

Fiz criando a partial view tipada para a classe cliente, sendo que ele não adiciona sempre subscreve deixando na view somente a ultima matricula informada e o que quero é que a cada clique do botão caso exista seja adicionado o cliente informado.

Como faço isso ?
KERPLUNK 23/09/2016 11:08:16
#467365
Resposta escolhida
Crie um List<T> do seu tipo na view e vai adicionando os ítens nela.
MOZARTJUNIOR 23/09/2016 11:27:40
#467366
Fiz assim e não deu certo, ele só mostra o cabeçalho da tabela

Abaixo está meu código
$.getJSON([Ô]/USUARIO/UsuarioParcial?matricula=[Ô] + matriculausu, null, function (dados) {
$([ô]#usuAvulso[ô]).append([ô]<tr><td>[ô] + dados.usu_id + [ô]</td><td>[ô] + dados.usu_nome + [ô]</td><td>[ô] + dados.usu_matricula + [ô]</td><td>[ô] + dados.usu_valor_pedido + [ô]</td></tr>[ô]);
});
KERPLUNK 23/09/2016 11:57:06
#467367
Esse [Ô]usuAvulso[Ô] é que componente? A tabela?
MOZARTJUNIOR 23/09/2016 13:28:01
#467375
é a tabela na minha partial view
@model IEnumerable<MVCEstudante.Models.USU_USUARIO>

@section scriptHeader{
<script src=[Ô]@Url.Content([Ô]~/Scripts/jquery.mask.js[Ô])[Ô] type=[Ô]text/javascript[Ô]></script>
}
<script>
$(document).ready(function () {
$([Ô].mask[Ô]).mask([Ô]#.##0,00[Ô], { reverse: true });
});
</script>


<table id=[Ô]usuAvulso[Ô] class=[Ô]table[Ô]>
<tr>
<th></th>
<th>
@Html.DisplayNameFor(model => model.usu_matricula)
</th>
<th>
@Html.DisplayNameFor(model => model.usu_nome)
</th>
<th>
@Html.DisplayNameFor(model => model.usu_valor_pedido)
</th>
</tr>

@foreach (var item in Model)
{
<tr>
<td>
@Html.HiddenFor(modelItem => item.usu_id)
</td>
<td id=[Ô]usu_matricula[Ô]>
@Html.DisplayFor(modelItem => item.usu_matricula)
</td>
<td>
@Html.DisplayFor(modelItem => item.usu_nome)
</td>

<td>
@Html.TextBoxFor(m => item.usu_valor_pedido, new { @class = [Ô]mask[Ô] })
</td>
</tr>
}

</table>
KERPLUNK 23/09/2016 16:01:19
#467388
é o que estava imaginando. O que você quer ficaria muito mais fácil se você ao invés de manipular o DOM, inserir os ítens na model.
MOZARTJUNIOR 23/09/2016 16:23:32
#467391
Kerplunk Como eu faria isso ?
Só informando que deu certo da forma que te mandei, mais tem um detalhe, a primeira coluna da tabela é o id do usuario seria interessante não mostrar e o ultimo campo valor tem que ser um campo text para o usuário informar qual o valor e está mostrando sem esses detalhes, dessa forma eu tenho que fazer essa manipulando no DOM ? pq alterei o CSS da partial view mais ele não obedece, não sei o motivo.

KERPLUNK 23/09/2016 16:45:46
#467395
Seria algo como:
@Model.Add(new SeuObjeto(){ foo = x };
MOZARTJUNIOR 26/09/2016 11:04:41
#467488
Kerplunk só uma dúvida, esse @model.add(new object(){}); seria chamar um método no controller ?
KERPLUNK 26/09/2016 12:27:07
#467493
Você tem um [Ô]@foreach.......[Ô] que está criando as linhas de uma tabela. O que você acha que seja aquilo?
Tópico encerrado , respostas não são mais permitidas