我的ASP.NET 2.0 webform中有以下HiddenField:
<asp:HiddenField ID="HiddenModel" runat="server"
OnValueChanged="HiddenModel_ValueChanged" />
我的代码隐藏在这个if..else语句中引用了HiddenModel:
if (serial.Text.ToString() != "0")
{
CarpetMultiView.ActiveViewIndex = 1;
HiddenModel.Value = model.SelectedItem.Text.ToString();
LabelCurrent.Text = "Your Current Selection is :
Make-" + make.SelectedItem.Text.ToString() + " Model-" +
model.SelectedItem.Text.ToString() + " S/N-" + serial.SelectedItem.Text.ToString();
Page.Title = make.SelectedItem.ToString() + " " + model.SelectedItem.ToString() + " " +
serial.SelectedItem.ToString() + " " + "Carpet";
}
当我使用VWD 2005调试解决方案时,收到以下错误:
The name 'HiddenModel' does not exist in the current context
我的@Page指令继承了与代码隐藏类匹配的rug_template:
public partial class carpet_template : System.Web.UI.Page
如何解决这些和其他类似错误?
答案 0 :(得分:1)
从以下链接: “如果您在IIS中进行测试,则应该转到VWD中的网站菜单,单击启动选项,单击左窗格中树上的”构建“,然后在标记为”运行启动页面之前“的下拉列表中选择”无构建“ ”
全文HERE.
答案 1 :(得分:0)
当代码超出页面生命周期的上下文时很难确定,但听起来asp.net根本不接受该字段当前存在。
最合乎逻辑的原因是隐藏字段在页面生命周期中尚未存在(请参阅page lifecycle) - 代码是在页面加载之前还是在控件呈现之前运行的?
或者,如果表单出现问题,您可能会遇到此行为(例如,如果隐藏字段不在表单标记内)。
答案 2 :(得分:0)
删除相同文件的所有备份副本。删除这些备份文件后,我在同一文件夹中有相同文件的备份副本 - 解决方案正在编译而没有任何错误。
从以下链接获得此解决方案:[slash84]
http://forums.asp.net/post/3060379.aspx