viernes, 19 de septiembre de 2014

Forzar actualizaciones de windows


Enunciado

Quieres que Windows Update (actualizaciones de windows) descargue e instale inmediatamente.

Solución

En CMD ejecutar wuauclt.exe /detectnow

Contexto

Este mandato junto con gpupdate /force es útil cuando estas lidiando con SCCM

miércoles, 3 de septiembre de 2014

Scripts.Render("~/bundles/modernizr") y error referencia a objeto no establecida.....

Contexto

ASP.NET MVC

Síntomas

Recibes un error Scripts.Render("~/bundles/modernizr") que desemboca en Referencia a objeto no establecida como instancia de un objeto.

Causa

En la vista o en sus layouts haces referencia a una propiedad dinámica del viewbag que no has establecido previamente.


jueves, 7 de agosto de 2014

Cambiar la configuración de seguridad Outlook para una estación

Enunciado:

Es preciso personalizar la configuración de seguridad de Office en una estación en una instalación corporativa para que no pregunte al enviar correo.

Solución:

Si el usuario no es administrador de la maquina, activarlo provisionalmente.
Arrancar el Outlook en modo Ejectutar como Administrador.
Corregir las opciones.
Salir y volver a entrar en Outlook.

Observaciones

Existen otras soluciones mediante GPOs o formularios de seguridad en carpetas públicas pero estamos hablando de una estación con un problema.
Por cierto que la solución dejará dejará de funcionar si activas GPOs.

jueves, 26 de junio de 2014

No hay constructor sin parámetros definido para este objeto

Enunciado:

Creas un modelo, una acción etiquetada httpPost y las vistas correspondientes.
Cuando realizar la primera prueba tienes el error:
No hay constructor sin parámetros definido para este objeto

Solución:

Una vez mas te has olvidado de crear un constructor sin parámetros para el modelo.

Ejemplo:

La acción
        [HttpPost()]
        public ActionResult Guardar(UsuarioEdicion datos)
        { ....
En el modelo falta el constructor marcado en rojo

Public class UsuarioEdicion
{
Public UsuarioEdicion(){}
........


martes, 17 de junio de 2014

@Html.ActionLink y ?length=n

Sintomas

En Razor escribes algo así como:
@Html.ActionLink("Texto del enlace", "Accion", "NuevoControlador", new {id=1})
Que te debia sacarte del contexto "ControladorActual" para llevarte a "NuevoControlador"
Por tanto esperas que se genere:
<a href="http://www.blogger.com/miweb/NuevoControlador/Acccion/1" >Texto del enlace</a>
Pero se genera:
<a href="http://www.blogger.com/miweb/ActualControlador/Accion?length=21" >Texto del enlace</a>

Solución:

Reemplaza por:
@Html.ActionLink("Texto del enlace", "Accion", new {Controller="NuevoControlador", id=1})
Y listo.

Comentario:

Me ha pasado tantas veces cada vez que he vuelto a usar el html.actionlink que al final lo he escrito para no olvidarme.

jueves, 13 de marzo de 2014

Añadir atributos HTML en @html.EditorFor

Enunciado:

Quieres añadir atributos HTML como la clase CSS en el código generado por el Helper @html.EditorFor

Solución :

Desde MVC5 se puede hacer pero de una forma distinta a la que se sigue en los otros helper. En lugar de usar un parametro han reutilizado el parametro addionnalViewData y han añadido un nuevo ViewData htmlAttributes.
Mejor verlo con un ejemplo:

@Html.EditorFor(model => model.Dominio,
                             new { 
                                       htmlAttributes = new {
                                                                        @class = "form-control",
                                                                        @maxlength = "50",
                                                                        @placeholder = "Nuevo dominio"
                        } })


viernes, 17 de enero de 2014

Problema al actualizar Razor de la versión 2 a la 3

Sintomas:

[A]System.Web.WebPages.Razor.Configuration.HostSection no puede convertirse en [B]System.Web.WebPages.Razor.Configuration.HostSection. El tipo A se origina a partir de 'System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' en el contexto 'Default' en la ubicación 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Web.WebPages.Razor\v4.0_2.0.0.0__31bf3856ad364e35\System.Web.WebPages.Razor.dll'. El tipo B se origina a partir de 'System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' en el contexto 'Default' en la ubicación 'C:\Users\arturosoler\AppData\Local\Temp\Temporary ASP.NET Files\root\698c7daf\30eb994\assembly\dl3\81df2216\2827e9b5_7213cf01\System.Web.WebPages.Razor.dll'.

Solución:

<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
      <assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31bf3856ad364e35" />
      <bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
    </dependentAssembly>
  </assemblyBinding>
</runtime>

Fuente de la solución

http://blog.jongallant.com/2013/09/razorconfigurationhostsection-issue.html#.UtkZdBB5PGA