从ASPX中的TextBox获取文本

时间:2017-01-03 00:26:58

标签: c# asp.net

首先,新年快乐,第二名,我的ASP商店遇到了一些问题,在这种情况下,我认为我错过了一些我需要知道的东西或者关于ASP的东西......问题是:

我有这个ASPX:

CreateUpdate.aspx

    <asp:Label ID="lblRefProd" runat="server" Text="Referencia del producto"></asp:Label><br />
    <asp:TextBox ID="refProd" runat="server" Width="300px"></asp:TextBox><br />
    <br />
    <br />
    <!-- Name of product -->
    <asp:Label ID="lblNomProd" runat="server" Text="Nombre del producto"></asp:Label><br />
    <asp:TextBox ID="nomProd" runat="server" Width="300px"></asp:TextBox><br />
    <br />
    <br />
    <!-- Description about product -->
    <asp:Label ID="lblDescProd" runat="server" Text="Descripcion del producto"></asp:Label><br />
    <asp:TextBox ID="descProd" runat="server" TextMode="MultiLine" Width="300px"></asp:TextBox><br />
    <br />
    <br />
    <!-- Price of the product -->
    <asp:Label ID="lblPrecProd" runat="server" Text="Precio del producto"></asp:Label><br />
    <asp:TextBox ID="precProd" runat="server" Width="300px"></asp:TextBox><br />
    <br />
    <br />
    <!-- Stock of product -->
    <asp:Label ID="lblExistencias" runat="server" Text="Numero de unidades"></asp:Label><br />
    <asp:TextBox ID="exisProd" runat="server" Width="300px"></asp:TextBox><br />
    <br />
    <br />
    <!-- Taxes of the product or IVA in Spain-->
    <asp:Label ID="lblIvaProd" runat="server" Text="IVA del producto"></asp:Label><br />
    <br />

在CreateUpdate.aspx.cs

//填充数据方法

if (idText != null)
        {
            int id = 0;
            if (int.TryParse(idText, out id))
            {
                product = productManager.GetById(new object[] { id });
                if (product != null)
                {
                    //Id, Referencia, Nombre, Precio, Descripcion, IVA, Imagen, Existencias, Categoria
                    Id.Value = product.Id.ToString();
                    refProd.Text = product.Ref;
                    nomProd.Text = product.NomProducto;
                    precProd.Text = ((double)product.Precio).ToString();
                    descProd.Text = product.DescProducto;
                    ivaProd.SelectedValue = ((int)product.Iva).ToString();
                    exisProd.Text = ((int)product.Existencias).ToString();
                    catProd.SelectedValue = ((int)product.Categoria).ToString();
                }
            }
        }

如果您在URL中放置“CreateUpdate?Id = 7”,此部分将使用具有此ID的产品的字段填充值,在本例中为7。好吧,这种方法工作正常,但如果我尝试用这种方法修改一些字段:

                #region modifyProduct
                if (!string.IsNullOrWhiteSpace(refProd.Text))
                {
                    product.Id = Convert.ToInt32(Id.Value);
                    product.Precio = Convert.ToDouble(precProd.Text);
                    product.DescProducto = precProd.Text;
                    product.Existencias = Convert.ToInt32(exisProd.Text);

                }
                if (ImageUpload.HasFile)
                {
                    var nomProdImg = nomProd.Text;

                    String fileExtension = System.IO.Path.GetExtension(ImageUpload.FileName).ToLower();
                    String[] allowedExtensions = { ".gif", ".png", ".jpeg", ".jpg" };
                    if (allowedExtensions.Contains(fileExtension))
                    {
                        ImageUpload.PostedFile.SaveAs(Server.MapPath("../ImgsUpload/products/") + nomProdImg + fileExtension);
                        product.Imagenes.Add(new Imgs
                        {
                            NomImg = nomProdImg,
                            RutaImg = "../ImgsUpload/products/" + nomProdImg + fileExtension,
                            Product_Id = product.Id
                        });
                    }
                }
                //context.SaveChanges();
                productManager.Context.SaveChanges();
                result.Text = "Producto guardado con exito";
                #endregion

当我尝试调试这个部分时,值根本没有变化,它采用与fill-values方法相同的值,如果我将例如价格设为700而最后一个值为400则为I创造产品,它将需要400,而不是700。

我试图自己解决,但也许我需要一些东西,或者在ASP中有所不同。

提前致谢。

0 个答案:

没有答案