我目前正在使用 Visual Studio 2012,并且对 ASP.NET 编程完全陌生。尽管如此,尽管搜索了谷歌并找到了一些看起来可能有帮助的东西,但我最终还是陷入了这种境地。大多数在当前上下文中不存在“名称”类错误的人似乎没有非常相似的问题,而且似乎与我无关。
到目前为止,我已经尝试过(删除并重新创建设计器文件,但无济于事。这是以前的一些 stackoverflow 问题所推荐的,并且(b,这个小解决方法可以从母版页外部访问 body 标签(即本质上是我在这里尝试做的)。
这是我的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace WebApplication1
{
public partial class _Default : Page
{
protected void Page_Load(object sender, EventArgs e)
{
HelloWorldLabel.Text = "Hello" + TextInput.Text;
if (Request.Cookies["BackgroundColor"] != null)
{
ColorSelector.SelectedValue = Request.Cookies["BackgroundColor"].Value;
BodyTag.Style["background-color"] = ColorSelector.SelectedValue;
}
}
protected void GreetList_SelectedIndexChanged(object sender, EventArgs e)
{
HelloWorldLabel.Text = "Hello, " + GreetList.SelectedValue;
}
protected void ColorSelector_IndexChanged(object sender, EventArgs e)
{
BodyTag.Style["background-color"] = ColorSelector.SelectedValue;
HttpCookie cookie = new HttpCookie("BackgroundColor");
cookie.Value = ColorSelector.SelectedValue;
cookie.Expires = DateTime.Now.AddHours(1);
Response.SetCookie(cookie);
}
}
}
BodyTag 已在此处由此解决方法定义:
public HtmlGenericControl BodyTag
{
get
{
return MasterPageBodyTag;
}
set
{
MasterPageBodyTag = value;
}
}
这似乎没有任何困难,但最终没有解决问题。我还导入了正确的类等。
请注意,我的母版页有这个:
<body id="MasterPageBodyTag" runat="server">
以防万一您认为这可能是问题所在。另请注意,这是由于合并了各种代码而创建的——我自己没有创建这个!我才刚刚开始并处理此类事情。
无论如何,非常感谢所有大大小小的帮助。在此先感谢您的时间!