miércoles, 23 de octubre de 2013

Pasar una View o PartialView a string MVC

La función no la hice yo y aquí esta la fuente https://gist.github.com/cassioeskelsen/831567 pero como a veces es algo difícil de encontrar la pongo aquí para que sea más fácil su búsqueda.


protected string RenderPartialViewToString(string viewName, object model)
{
    if (string.IsNullOrEmpty(viewName))
        viewName = ControllerContext.RouteData.GetRequiredString("action");

    ViewData.Model = model;

    using (StringWriter sw = new StringWriter())
    {
        ViewEngineResult viewResult = ViewEngines.Engines.FindPartialView(ControllerContext, viewName);
        ViewContext viewContext = new ViewContext(ControllerContext, viewResult.View, ViewData, TempData, sw);
        viewResult.View.Render(viewContext, sw);

        return sw.GetStringBuilder().ToString();
    }
}

miércoles, 25 de septiembre de 2013

Error al cagar un .obj en mvc asp con three.js

Cuando intentamos cargar un .obj no nos deja porque la extención no esta mapeada por lo cual hay que agregarla en la configuración del Web.config



    
      
    
  

viernes, 6 de septiembre de 2013

¿Como saber si las cookies están habilitadas del lado del cliente?

Esto se puede comprobar en el Javascript con el objeto con la propiedad cookieEnabled del objeto navigator.


function are_cookies_enabled() {
        var cookieEnabled = (navigator.cookieEnabled) ? true : false;

        if (typeof navigator.cookieEnabled == "undefined" && !cookieEnabled) {
            document.cookie = "testcookie";
            cookieEnabled = (document.cookie.indexOf("testcookie") != -1) ? true : false;
        }
        return (cookieEnabled);
    }

También se puede saber creando una cookie y comprobar si el navegador lo hizo o no.






Fuentes:
http://stackoverflow.com/questions/2167310/how-to-show-a-message-only-if-cookies-are-disabled-in-browser
http://stackoverflow.com/questions/531393/how-to-detect-server-side-whether-cookies-are-disabled
http://es.softuses.com/70356

¿Como saber si esta habilitado el Javasript del lado del cliente?

Esto es en realidad es muy sencillo solo hay que utilizar la etiqueta <noscript> y de entro de ella el mensaje que se quiera dar al usuario en caso de que no este habilitado el Javascript.




Fuentes:
http://respag.net/c%C3%B3mo-detectar-si-javascript-est%C3%A1-habilitado.aspx
http://www.enable-javascript.com/es/

jueves, 4 de julio de 2013

Usar un clase Anonymous Type en C#

Los Anonymous Type son una característica de C# proporcionan una manera conveniente para encapsular un conjunto de propiedades de sólo lectura en un solo objeto sin tener que definir explícitamente un tipo de primera. El nombre del tipo es generado por el compilador y no está disponible a nivel de código fuente. El tipo de cada propiedad se infiere por el compilador.

Los Anonymous Type son tipos de clases que se derivan directamente de object, y que no se pueden convertir a cualquier tipo excepto objeto. El compilador proporciona un nombre para cada tipo anónimo, aunque su aplicación no puede acceder a ella. Desde el punto de vista del tiempo de ejecución de lenguaje común, un tipo anónimo no es diferente de cualquier otro tipo de referencia.

Declaración:
object o = new { valor1 = "", valor2 = "", valor3 = "" };

Consulta:
Type t = o.GetType();
ProcessInfo p = t.GetProperty("valor1");
object v = p.GetValue(t);

Ó en 2 líneas:
Type t = o.GetType();
object v = t.GetProperty("valor1").GetValue(t);

martes, 18 de junio de 2013

Firefox no acepta margin-top negativo

Parece que Firefox no acepta un margin-top negativo un posible solución podría ser: Poner la posición en relative y en vez de margin-top usar top. position: relative; top: -10px;

miércoles, 5 de junio de 2013

qtip2 no funciona con jquery 2.0.2, solución

Bueno esta solución es hasta que salga la nueva versión de qtip2, para que no busques en el foro de qtip aquí esta la forma que proponen y que es efectiva, solo hay que incluir el jquery migrate y listo





Cambiar estilo del botón de qtip2

button: $("<img />", {
  "src": "/Content/imagenes/close.png",
  "class": "qtip-close",
  "title": "Cerrar",
  "style": "background:none;border-style:none;margin-top:-11px;opacity:0.8;"
})