1

我的 ASP.NET 2.0 网络表单中有以下 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 指令继承了与代码隐藏类匹配的地毯模板:

public partial class carpet_template : System.Web.UI.Page

如何解决这些和其他类似错误?

4

3 回答 3

1

从下面的链接:“如果您在 IIS 中进行测试,您应该转到 VWD 中的网站菜单,单击开始选项,单击左侧窗格中树上的“构建”,然后在标有“运行启动页面之前”的下拉列表中” 选择“无构建”。

全文在这里。

于 2011-12-29T23:11:17.933 回答
0

很难确定代码何时脱离页面生命周期的上下文,但听起来 asp.net 根本不接受该字段当前存在。

最合乎逻辑的原因是页面生命周期中尚不存在隐藏字段(请参阅页面生命周期) - 代码是在页面加载之前还是在控件呈现之前运行?

或者,如果表单有问题,您可能会得到这种行为(例如,如果隐藏字段不在表单标签内)。

于 2011-12-29T22:39:20.107 回答
0

删除相同文件的所有备份副本。删除这些备份文件后,我在同一文件夹中有相同文件的备份副本 - 解决方案正在编译,没有任何错误。

从以下链接获得此解决方案:[slash84]
http://forums.asp.net/post/3060379.aspx

于 2014-08-12T05:32:17.097 回答