Question

Nous avons eu besoin d'un client pour se déplacer d'un site qui est en cours d'exécution sur son propre domaine à un sous-dossier d'une autre application.

J'ai acheived cela en utilisant le mandatement de réécriture ISAPI.

Cependant, il y a une forme qui fait un poste de retour sur le site. L'URL généré pour l'action de ASP.NET est "/ signature up.aspx?" . Cela envoie le postback à la racine du site.

Je veux changer cela "signe-up.aspx?" (pas slash). Ce serait bien si je n'utilisais pas les pages maîtres que je pouvais obtenir une référence à la forme et le modifier est l'action (ce qui est .NET 3.5 SP1). J'ai essayé d'utiliser le code suivant dans mon contrôle pour obtenir une référence à la forme, mais il ne semble pas faire quoi que ce soit. Il trouve la forme, mais l'action n'est pas à la valeur.

        HtmlForm form = ControlLocator.FindControl<HtmlForm>(Page.Master.Master, "form1");
        form.Action = "sign-up.aspx?";

Ceci est en Page_Load et ControlLocator.FindControl est un port de cette http: //www.west-wind.com/Weblog/posts/5127.aspx

Toutes les idées?

Cordialement, Rob

Était-ce utile?

La solution 4

Finalement pensé qu'il était Form.browser de Umbraco qui était en train de réécrire l'url après retour après avoir changé. (Toutes mes excuses pour ne pas mentionner l'utilisation de Umbraco dans ma question initiale).

Autres conseils

Bon à résoudre votre problème. Mais pour qui cela veut changer l'URL d'action de aspnetform, utilisez ce code simple dans l'événement Page_Load (même ils ont une page maître).

protected void Page_Load(object sender, EventArgs e)
{
    this.Form.Action = "URL Goes Here";
}

Avez-vous essayé de le faire dans Page_PreRender?

Il se pourrait que toute la fusion de contenu maître n'a pas encore été fait dans page_load. En supposant HtmlForm est le type correct et que la forme est en fait appelé « form1 » -. Je suis sûr est correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top