Pregunta

Tengo el siguiente código HTML

<%@ Page Language="C#" %>

<html>
    <head>
        <title></title>
    </head>
    <body>
        <form id="frmSystem" method="post" action="target.aspx">
            <input id="txtTextField" type="text" />
            <input id="btnPost" value="Submit" onclick="javascript:frmSystem.submit();" type="button" />
        </form>
    </body>
</html>

El objetivo página está subiendo, pero la forma que está recibiendo está vacía. Tengo un punto de quiebre en mi página target.aspx y mientras veo una forma, es teclas están vacías y Solicitud [ "txtTextField"] me da nada.

Cualquier idea de por qué?

¿Fue útil?

Solución

Si está utilizando ASP.NET MVC, los nombres de entrada se deben establecer con el atributo "name" en lugar de "id".

Otros consejos

Si está utilizando ASP.NET 4.5 como yo, utilizar a continuación consejos

  • Desactivar auto friendly URL en un proyecto de formularios Web
    • settings.AutoRedirectMode = RedirectMode.Off; // en RouteConfig.cs
  • si es posible:
    • eliminar action = "CILandingPage.aspx" de elemento de formulario
    • poner un asp: botón en lugar del botón de la normalidad
    • set PostBackUrl = "~ / CILandingPage.aspx" en su asp: botón

Los más recursos con más detalle que era útil para mí

Es probable que restablecer el valor en forma de controladores de eventos (como Load).

Otra opción es capturar sus datos Request.Form [] en Application_BeginRequest en los Global.asax.cs:

protected void Application_BeginRequest(object sender, EventArgs e)
{
    //capture form data and preserve in query string
    if (Request.Form["txtTextField"]!= null)
    {
        Response.Redirect(Request.RawUrl + "?txtTextField=" 
          + Request.Form["txtTextField"]);
    }
    //or preserve in Session variable
    if(Request.Form["txtTextField"]!=null)
    {
        Session["txtTextField"]=Request.Form["txtTextField"];
    }
}

El problema es que los datos del formulario se pierde en la redirección automática que se aplica mediante friendlyUrls -. Si almacena los datos como algo distinto de los datos del formulario, no es necesario apagar friendlyUrls o conjunto AutoRedirectMode a RedirectMode.Off

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top