lunes, 23 de junio de 2014

Jquery Obtener Elementos por Value

No hay comentarios.:
Si quieres usar jquery con un formulario que no usa id para identificar los elementos, es posible que tengas algunos problemas.

Si tiene solo name puedes hacer lo siguiente:

<form> 
     <input type="text" name='xx' value="test"> 
</form> 

<script> 
$(document).ready(function() { 

    var algo=$("input[name=xx]").val(); 
            alert(algo); 

}); 
</script>
Por valor:
<form> 
     <input type="button" value="Delete"> 
</form> 

<script> 
$(document).ready(function() { 

    var algo=$("input[type=button][value=Delete]").val();
    alert(algo); 

}); 
</script>

Si tienes NO tienes name puedes hacer la búsqueda por value, si tienes varios elementos puedes hacer each, en este ejemplo se ocultan los elementos con el mismo value.

<form> 
        <input type="button" class="" style=""  value="Delete"> 
        <input type="button" class="" style=""  value="edit"> 
        <input type="button"class="" style=""  value="Delete"> 
        <input type="button" class="" style=""  value="Delete"> 
</form> 

<script> 
$('input[type=button]').each(function() { 
    var btn= $(this); 
    if(btn.val()=='Delete') 
    { 
        btn.hide(); 
    }             
}); 
</script>
Ver

jueves, 19 de junio de 2014

MVC 5 Modelos

No hay comentarios.:

1.) Vamos a crear un nuevo proyecto File--> New Project ..




2.) Seleccionamos Visual c# --> Web



3.) Ahora debemos seleccionar el template, selecciona MVC



4.) Lo primero es cambiar la configuración de conexión de base de datos llamada  "DefaultConnection" ubicada en Web. config.

Actual:

 <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-WebApplication2-20140608113405.mdf;Initial Catalog=aspnet-WebApplication2-20140608113405;Integrated Security=True"
      providerName="System.Data.SqlClient" />

Cambiar por: (recuerde cambiar sus credenciales, nombre de base datos y servidor)

<add name="DefaultConnection" connectionString="Data Source=localhost;Initial Catalog=Northwind;user id=sa;password=P@ssw0rd" providerName="System.Data.SqlClient" />

Datasource = Servidor donde se ubica la base de datos
Inicial Catalog= Base de datos
User id= usuario de base de datos
Password = Contraseña del usuario de base de datos.

5.) Ahora vamos a crear los modelos, los modelos no son mas que clases con los campos de las tablas como propiedades.

Presione clic derecho sobre la carpeta de "Models" y agregar "Class"



Ahora seleccione Class, agregue el nombre de clase que va crear Ejemplo "Categories", "Products".



Asegurase que las siguientes librerías estén disponibles para todas las clases.

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;

5.1) Modelo de "Categories" (Categorias), ahora agregue el siguiente código.



 public partial class Categories
    {    
       [Key]
        public int CategoryID { get; set; }
        public string CategoryName { get; set; }
        public string Description { get; set; }

        public virtual ICollection<Products> Products { get; set; }
    }


5.2) Modelo de "Supplier" (Proveedores) tiene muchos mas campos que el modelo anterior así que podemos solo agregar las propiedades que vamos a necesitar. Agregue el siguiente código.

public partial class Suppliers
    {   
       [Key]
        public int SupplierID { get; set; }
        public string CompanyName { get; set; }

        public virtual ICollection<Products> Products { get; set; }
    }

Nota:
Con public virtual mostrara que tiene error hasta que termine el punto 5.3

5.3) Modelo de "Products", por ultimo vamos hacer el Productos, este modelo vamos agregar validaciones e información de el display.

 public partial class Products
 {   
        [Key]
        public int ProductID { get; set; }

        [Display(Name = "Nombre")]
        [Required(ErrorMessage = "Nombre de Producto Requerido")]
        [MaxLength(50)] 
        public string ProductName { get; set; }
        
        [Display(Name = "Proveedor")]
        public Nullable<int> SupplierID { get; set; }

        [Display(Name = "Categoria")] 
        public Nullable<int> CategoryID { get; set; }

        [Display(Name = "Precio")]
        [DisplayFormat(DataFormatString = "{0:c}")] 
        public Nullable<decimal> UnitPrice { get; set; }
        public Nullable<short> UnitsInStock { get; set; }
        public bool Discontinued { get; set; }

        public virtual Categories Categories { get; set; }
        public virtual Suppliers Suppliers { get; set; }

    }


6.) Vamos a configurar el contexto "ApplicationDbContext" para nuestra identificar nuestros modelos y evitar que pluralice o singularice los nombre de las tablas.






6.1) En la carpeta modelos abra el archivo "IdentityModels" y en la sección de "ApplicationDbContext" Agregue lo siguiente:



public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
    {
        public ApplicationDbContext()
            : base("DefaultConnection")
        {
        }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
            base.OnModelCreating(modelBuilder);
        }

        public DbSet<Models.Categories> Categories { get; set; }
        public DbSet<Models.Suppliers> Suppliers { get; set; }
        public DbSet<Models.Products> Products { get; set; }

    }

Nota:
Los siguiente using son necesarios, para el código anterior.

using Microsoft.AspNet.Identity.EntityFramework;
using System.Data.Entity;
using System.Data.Entity.ModelConfiguration.Conventions;

7.) Ahora vamos a compilar para que el proyecto pueda ver los modelos.

7.1) Clic derecho sobre el proyecto y luego en el menú clic en "Build"




8.) Vamos a crear los modelos y vistas utilizando scaffolding.

8.1) Clic derecho sobre la carpeta "Controllers" --> Add --> Controller...



8.2) Se mostrara la ventana de scaffolding



8.3) Se mostrara la ventana de add controller, en esta parte debemos indicar el modelo y el contexto.




9.) Listos para ver nuestro nuevo proyecto.




Ver