Для этого подхода есть простой способ, который приведен ниже.
- Оставить одну мастер-страницу по умолчанию // ("MasterPage.master")
- Добавить столько главных страниц в соответствии с требованием // "manager.master / Admin.master"
- Добавление страниц на главную страницу по умолчанию
- Добавить файл класса в код приложения , где вы можете отобразить динамическую мастер-страницу
Добавить этот класс в App_Code
public class DynamicPage : System.Web.UI.Page
{
protected override void OnPreInit(EventArgs e)
{
string masterfile = getMasterPageFromDatabase();
if (!masterfile.Equals(string.Empty))
{
base.MasterPageFile = masterfile;
}
base.OnPreInit(e);
}
private string getMasterPageFromDatabase()
{
// check the conditions "manager.master/Admin.master"
return "Admin.master";
}
}
при переходе к файлу .cs для default.aspx.cs это будет " System.Web.UI.Page ", замените его на DynamicPage
public partial class _Default : **System.Web.UI.Page**
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
наконец-то получается
public partial class _Default : **DynamicPage**
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
отдых произойдет автоматически сопоставляется
надеюсь, это поможет !!!