05. april 2005 - 10:24Der er
6 kommentarer og 1 løsning
Pænere adresse
Hey
Vil gerne have adreseen altid ender på '/' eller '/?foo=bar' og det kan jeg også sagtens. Problemet er når jeg klikker på en knap, så kommer der altid filnavn på ('/default.aspx'), nogen let måde at undgå det?
:) det er desværre asp.net renderingen der gør det, men du kan godt gå ind og override det. Til det skal du have fat i der hvor at asp.net renderer start-tagget på din form, og ændre det fra default.aspx?hej=med til bare ?hej=med
her et et eksempel på en egen implementation af HtmlForm. Denne addresserer ikke direkte problemet med Action, men så kan du da se hvordan du kommer igang med at lave din egen form.
using System; using System.Web.UI; using System.Web.UI.WebControls; using System.ComponentModel;
namespace MetaBuilders.WebControls.MasterPages {
/// <summary> /// A server form that does not cause a problem by being inside a master page or other naming container. /// </summary> /// <remarks> /// When using this version of masterpages with asp.net 1.1, use this form instead of the standard form element for server forms. This is only required because of a bug in asp.net 1.1's version of __doPostBack. /// </remarks> public class NoBugForm : System.Web.UI.HtmlControls.HtmlForm {
/// <summary> /// Creates a new instance of the NoBugForm class. /// </summary> public NoBugForm() { System.Version runtimeVersion = System.Environment.Version; this.doesDoPostBackBugExist = runtimeVersion.Major == 1 && runtimeVersion.Minor == 1 && runtimeVersion.Build == 4322; }
/// <summary> /// Overriden to fix the bug. /// </summary> public override string UniqueID { get { if ( this.doesDoPostBackBugExist && this.isNamingContainerBreakoutRequired && this.NamingContainer != this.Page ) { String fullUniqueID = base.UniqueID; return fullUniqueID.Substring(fullUniqueID.LastIndexOf(":")+1); } else { return base.UniqueID; } } }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.