none
Adicionar itens em uma Session

    Pergunta

  • Boa tarde,

    Preciso adicionar itens em uma Sessão que já existe, para exemplificar, o que meu software faz:

    Tem um Link em uma WebGrid, quando o usuario clica no link "Adicionar" na Grid, é adicionado um produto na Session, o usuario pode adicionar vários produtos e depois de adicionar por exemplo 3 produtos na session só fica o ultimo.

    eu fiz assim Session["Produtos"] = produto

    quinta-feira, 13 de fevereiro de 2014 15:53

Respostas

  • Alan,

    boa tarde,

    Voce precisa criar uma array e adicionar na session

    
    

    String[] produtos; produtos = new produtos["PRODUTO QUE VAI ADICIONAR"];

    Session["Produtos"] = produtos

    Desta forma, voce vai guardar todos os produtos.

    Para acessar os produtos ou o ultimo, basta fazer assim:

    String[] verificarprodutos = Session["Produtos"];

    verificarprodutos.Count() // exemplo, se o resultado for 10 o ultimo item sera

    verificarprodutos[9].ToString()

    Boa sorte,

    AT_+

    • Marcado como Resposta Alan F. Almeida sexta-feira, 21 de março de 2014 23:23
    quinta-feira, 13 de fevereiro de 2014 16:04

Todas as Respostas

  • Alan,

    boa tarde,

    Voce precisa criar uma array e adicionar na session

    
    

    String[] produtos; produtos = new produtos["PRODUTO QUE VAI ADICIONAR"];

    Session["Produtos"] = produtos

    Desta forma, voce vai guardar todos os produtos.

    Para acessar os produtos ou o ultimo, basta fazer assim:

    String[] verificarprodutos = Session["Produtos"];

    verificarprodutos.Count() // exemplo, se o resultado for 10 o ultimo item sera

    verificarprodutos[9].ToString()

    Boa sorte,

    AT_+

    • Marcado como Resposta Alan F. Almeida sexta-feira, 21 de março de 2014 23:23
    quinta-feira, 13 de fevereiro de 2014 16:04
  • Alexandre, 

    Obrigado vou fazer do seu jeito, aproveitando o post,  o javaScript que adiciona o produto via Ajax recebe 3 parametros que vem da grid, quando, mas não está mais funcionando, quando eu fiz essa função, ela recebia apenas um parametro que era o ID do produto, mas vou passar a Descição o NCM também, depois que adicionei a Descrição e o NCM a função parou de funcionar no chrome dev tools ele mostra os erros:

    Uncaught SyntaxError: Unexpected identifier

    1. Uncaught ReferenceError: Parafuso is not defined
      1. (anonymous function)

    O estranho é que dependendo do produto que clico ele da um erro diferente, um dos erros acima, segue o codigo completo da View:

    @model List<PietraUno.Models.Produto>
    @{
        WebGrid grid = new WebGrid(source: Model, canPage: false);
    }
    
    @using(Html.BeginForm("CadastrarPedido", "Pedido", FormMethod.Post))
    {
        <div id="grid">
            @grid.GetHtml(
                tableStyle: "webgrid",
                headerStyle: "head",
                alternatingRowStyle: "alt",
                columns: grid.Columns(
                    grid.Column("ID", header: "ID"),
                    grid.Column("Descricao", header: "Descrição"),
                    grid.Column("NCM", header: "NCM"),
                    grid.Column(header: "Selecionar", format: @<text><a href="javascript:Addproduto(@item.ID, @item.Descricao, @item.NCM)">
                        Adicionar</a></text>)
                ))
        </div>
        
        <br />
    
        <div class="botao-direita">
            <input type="submit" value="Selecionar" />
        </div>
    }
    
    <script type="text/javascript">
        function Addproduto(id, Parafuso, ncm) {
            var op = confirm("Deseja adicionar o produto ao pedido?");
            if (op == true) {
                var produto = {
                    ID: id,
                    Descricao: descricao,
                    NCM: ncm
                }
                $.ajax({
                    method: 'POST',
                    url: 'AddProdutoPedido',
                    data: produto,
                    success: function () {
                        alert('Produto Adicionado');
                    }
                });
            }
        }                  
    </script>
    
    

    quinta-feira, 13 de fevereiro de 2014 18:01