NET,我最近買了一本書開始自己試着按照練習。動態選擇主題
我知道你可以通過添加「theme」屬性來應用web配置文件的標籤中的主題,但是下面的練習是從下拉列表中選擇一個我不能很好理解的主題,根本不適合我。
這裏是母版頁CS碼(書代碼)
namespace WebApplication7
{
public partial class SiteMaster : MasterPage
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
string selectedTheme = Page.Theme;
HttpCookie preferredTheme = Request.Cookies.Get("PreferredTheme");
if (preferredTheme != null)
{
selectedTheme = preferredTheme.Value;
}
if (!string.IsNullOrEmpty(selectedTheme))
{
ListItem item = ThemeList.Items.FindByValue(selectedTheme);
if (item != null)
{
item.Selected = true;
}
}
}
}
protected void Theme_SelectedIndexChanged(object sender, EventArgs e)
{
HttpCookie preferredTheme = new HttpCookie("PreferredTheme");
preferredTheme.Expires = DateTime.Now.AddMonths(3);
preferredTheme.Value = ThemeList.SelectedValue;
Response.Cookies.Add(preferredTheme);
Response.Redirect(Request.Url.ToString());
}
}
}
這裏是下拉列表
<asp:DropDownList ID="ThemeList" runat="server" OnSelectedIndexChanged="Theme_SelectedIndexChanged" AutoPostBack="True">
<asp:ListItem Value="monochrome" >Monochrome</asp:ListItem>
<asp:ListItem Value="colors">Colors</asp:ListItem>
</asp:DropDownList>
這是書「開始ASP.NET 4.5.1爲例: C#和VB「
本書沒有提到任何缺失的步驟,說實話我不明白下拉列表」indexchanged「是如何鏈接到我在App_Themes文件夾中創建的主題。我只是假設這與「Page.Theme」有關。
在此先感謝。
您可能需要繼續閱讀,因爲發佈的示例不會更改當前主題 –
https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work可能有幫助。 – mjwills