Although we cannot use frameset/frames in the MasterPage, we still canuse iFrame (inline frame. Thanks ScottGu).
I don't know whether this will work for you. It is kind of missing of point of using MasterPage. Anyway, I present to you.
1> Here the MasterPage (Sample.master), it contains the Menu, the Iframe and the contentplaceholder. I set frameborder to "no".
<form id="form1" runat="server">
<asp:Menu ID="MainMenu" runat="server" Orientation="Horizontal">
<Items>
<asp:MenuItem NavigateUrl="~/default.aspx" Text="Home" Target="mycontent"></asp:MenuItem>
<asp:MenuItem Text="Sites">
<asp:MenuItem NavigateUrl="http://www.yahoo.com" Text="Yahoo" Target="mycontent"></asp:MenuItem>
<asp:MenuItem NavigateUrl="http://www.google.com" Text="Google" Target="mycontent"></asp:MenuItem>
</asp:MenuItem>
</Items>
</asp:Menu>
<iframe id="Iframe1" name="mycontent" width="100%" height="90%" runat="server" frameborder="no">
</iframe><br />
<asp:contentplaceholder id="ContentPlaceHolder1" runat="server">
</asp:contentplaceholder>
</form>
2> here the default.aspx: it does NOT use the master page. Just a simple plain aspx page
<form id="form1" runat="server">
<table border="0">
<tr>
<td>Last Name:</td>
<td>
<asp:TextBox ID="txtLastName" runat="server" />
<asp:RequiredFieldValidator ID="rfvLastName" runat="server" ControlToValidate="txtLastName" CssClass="Error" Display="Dynamic" ErrorMessage="Last Name Required" />
</td>
</tr>
<tr>
<td>First Name:</td>
<td>
<asp:TextBox ID="txtFirstName" runat="server" />
<asp:RequiredFieldValidator ID="rfvFirstName" runat="server" ControlToValidate="txtFirstName" Display="Dynamic" ErrorMessage="First Name Required" />
</td>
</tr>
</table>
3> Then you will have a start page, which DOES use the masterpage and contains nothing else.
<%
@ Page Language="C#" MasterPageFile="~/Sample.master" AutoEventWireup="true" CodeFile="frames.aspx.cs" Inherits="frames" Title="Untitled Page" %>
<
asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
</
asp:Content>
Fire up the start page, you will have the menu at the top. Click on Home, the default page is show, click on Yahoo, the Yahoo page is displayed.
That is just a preliminary example. You definitely need to twist it more to work nicely for you.
Good luck
Help Whenever You Can
Live Without Regret