NET,我最近自己买了一本书,并尝试按照练习进行操作。
我知道您可以通过添加“主题”属性在Web配置文件的标记中应用主题,但是下面的练习是从下拉列表中选择一个我无法理解的主题,并且是根本不适合我。
这是主页cs代码(Book的代码)
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>
这是“Beginning ASP.NET 4.5.1:in C#and VB”
一书的一个例子这本书没有提到任何遗漏的步骤,说实话我不明白下拉列表“indexchanged”是如何链接到我在App_Themes文件夹中创建的主题。我只是假设这与“Page.Theme”有关。
提前致谢。
答案 0 :(得分:0)
答案 1 :(得分:0)
是的我必须创建一个新的Asp.net文件夹,然后创建一个App_Code文件夹,创建一个BasePage.cs文件夹,右键单击并设置该文件进行编译,复制并粘贴BasePage.cs中缺少的代码。
在所有我的aspx页面中将所有继承从Page到BasePage应用完毕后。
感谢您的回答。