MasterPage, form, DefaultButton Problem

23/10/2008 - 22:40 von Lars | Report spam
Hallo,

ich möchte gerne in Abhàngigkeit der ContentPage den DefaultButton einer
<form> àndern, welche sich auf der MasterPage befindet.
Ich kann die <form> nicht auf die ContentPage packen, da auch in der
MasterPage noch <asp:...> Elemente vorhanden sind.

Folgend habe ich die Sache mal versucht mit ein bischen Pseudo-Code
nachzustellen:

MasterPage.aspx

...
<form id="contentForm" runat="server">
...
<div id="pageContent">
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server"

</asp:ContentPlaceHolder>


</div>
...
</form>
...

Contentpage.aspx.cs

...
public void Page_LoadComplete( object sender, EventArgs e )
{
HtmlForm contForm = Master.FindControl( "contentForm" ) as HtmlForm;
contForm.DefaultButton = "defButton";
}
...

Wenn ich die obige Lösung starte, kommt im Browser die Fehlermeldung

"Der DefaultButton von contentForm muss die ID eines Steuerelements vom Typ
IButtonControl haben. "

Und dass, obwohl "defButton" ein Control vom Typ <asp:button> ist. Das
gleiche passiert auch, wenn ich statt Page_LoadComplete() den Event
Page_Load() nutze.

Hat jemand eine Anhnung?

Alternativ würde es mir auch helfeb, wenn jemand wüsste, wie ich von der
MasterPage (Button_Click - Event) eine Funktion der ContentPage aufrufen kann.

Danke für Eure Hilfe,

Lars
 

Lesen sie die antworten

#1 Stefan Falz [MVP]
23/10/2008 - 23:15 | Warnen spam
Hallo Lars,

"Lars" schrieb:

public void Page_LoadComplete( object sender, EventArgs e )
{
HtmlForm contForm = Master.FindControl( "contentForm" ) as HtmlForm;
contForm.DefaultButton = "defButton";
}



so kompliziert brauchst Du das gar nicht zu machen. Einfach:

Page.Form.DefaultButton = <Button>.UniqueID

absetzen und fertig.

Du kannst das auch deklarativ setzen, bspw. in einem Panel Control.

<asp:Panel ... DefaultButton="MyButtoin">
...
</asp:Panel>

Siehe bspw.:

http://msdn.microsoft.com/de-de/lib...utton.aspx

Tschau, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

Ähnliche fragen