l.petitbre@alumnos.duoc.cl MSP DuocUC Antonio Varas

adhocjackpotSecurity

Nov 5, 2013 (3 years and 9 months ago)

127 views

l.petitbre@alumnos.duoc.cl

MSP
DuocUC

Antonio Varas

Personalizar

Publicar

Crear

Servidor Web
(IIS Express 7.5)

Base de datos
(SQL Compact)

Herramienta de desarrollo

Plantillas

Galería de
aplicaciones web

Entorno de programación:


Server
-
side
: ASP.net MVC3 “
Razor
” o PHP


Client
-
side
: JS,
JQuery
,
frameworks

del lado
del cliente (Flash,
Silverlight
, etc.)



Mayor control y potencia.

Intellisense

de código
ASP.net.

Características avanzadas
de IDE (Refactorización,
modelado, etc.).



Descarga pequeña (20mb).

Frameworks

PHP y
ASP.Net
.

Incluye IIS Express, y se
pueden descargar
Frameworks

y aplicaciones
vía
WebPI
.



Descarga muy grande
(700mb+).

Solo tecnologías Microsoft.

No incluye IIS Express.

Elevada complejidad para
el principiante.



Intellisense

limitado a
HTML.

Herramientas orientadas al
desarrollo de aplicaciones
básicas.

Editor simplificado de texto
(sin refactorización, etc.).

http://www.microsoft.com/web/webmatrix/

@{


var name = “John Doe”;


<div>


Your name: @name


</div>

}

@{


var name = “John Doe”;


@: Your name: @name

}

Opción 3: Salida
directa (no HTML)

Opción 1: En un
Bloque HTML (por
ejemplo un DIV)

@{


var name = “John Doe”;


<text>


Your name: @name


</text>

}

Opción 2: Salida
directa (no HTML)
con el tag especial
<text>

Diseño

@{


var db = Database.Open("ArtGallery");


var product = db.Query("SELECT * FROM PRODUCTS);

}

Codificación

@{



var

db

=
Database.Open
("
ArtGallery
");


var

data =
db.Query
("SELECT * FROM PRODUCTS);




var

grid = new
WebGrid
(data);

}


<div id="grid">


@
grid.GetHtml
();

</div>



<div id="grid">


@
grid.GetHtml
(


columns:
grid.Columns
(



grid.Column
("Name", "Product", style: "product"),



grid.Column
("Description", format:@<i>@
item.Description
</i>),


grid.Column
("Price", format:@<text>$@
item.Price
</text>)



)



)

</div>


@{



var

db

=
Database.Open
("
ArtGallery
");


var

data =
db.Query
("SELECT * FROM PRODUCTS);


var

grid = new WebGrid(



source: data,



defaultSort
: "Name",



rowsPerPage
: 3
);

}

Layout.cshtml

Pagina
1

Pagina

2

Pagina

3

<html>


<head>


<title>Simple Layout</title>


</head>


<body>



@
RenderBody
()


</body>

</html>

/Shared/_
Layout.cshtml

@{



Layout = "/Shared/_
Layout.cshtml
";

}


<p>


My content goes here

</p>

MyPage.cshtml

<html>


<head>


<title>Simple Layout</title>


</head>


<body>



@RenderSection("Menu")


@RenderBody()


</body>

</html>

/Shared/_Layout.cshtml

@{



Layout = "/Shared/_Layout.cshtml";

}


@section Menu {



<ul

id="pageMenu">


<li>Option 1</li>


<li>Option 2</li>


</ul>

}

<p>


My content goes here

</p>

MyPage.cshtml

<html>


<head>


<title>Simple Layout</title>


</head>


<body>



@RenderSection("Menu")


@RenderBody()


@RenderPage("/Shared/_Footer.cshtml")


</body>

</html>

/Shared/_Layout.cshtml

<div class="footer">


© 2010 Contoso

</div>

/Shared/_Footer.cshtml

@{


Themes.Initialize("~/App_Themes","_Default");

}

@{


WebSecurity.InitializeDatabaseConnection("StarterSite", "UserProfile", "UserId", "Email",
true);

}

/_AppStart.cshtml

StarterSite database

@if (!WebSecurity.IsAuthenticated) {


Response.Redirect("/Account/Login");


}


@if ( Roles.IsUserInRole("admin")) {


<span> Welcome
<b>@WebSecurity.CurrentUserName</b>! </span>

}

Helpers HTML

Helpers de API

Hechos para hacer mas facil el mostrar
código comunmente usado en una
pagina.

Ejemplos: Facebook, Twitter, grillas,
calendarios, etc.

Hechos para facilitar el acceso de API’s
complejas desde el sitio.

Ejemplos: Paypal, Odata, Windows
Azure Storage, Servicios Web, etc.


Se usa @
helper

y archivos CSHTML


Para
Helpers

simples

Usar código en línea


Clase estática con métodos estáticos CSHTML
implementados como @
function


Para
Helpers

que usen .NET

Usar una clase


Helpers

con clases


Se desarrollan con VS2010

Usar un
assembly

(DLL)



@FacebookSocialPlugins.ShowLoginButton(...);




@helper
HelloWorld
(string name = "") {


<div>Hello @name</div>


}




@helper
ShowLoginButton
(string
buttonText

= "") {


<
fb:login
-
button
>@
buttonText
</
fb:login
-
button
>


}




@functions {


public static string
SayHello
(string name) {



return “Hello ” + name;


}


}