我在ASP.NET中有一个简单的标签。我想在VB.NET中设置文本。标签的ID为norecords
。 VB.NET代码如下:lblnorecords.Text = "No Record found"
。
但是,它让我错误地说:name norecord is not declared
。
答案 0 :(得分:1)
确保您的标签的变量名称是norecoreds,只需单击标签上的标签,然后查看标签的属性,尤其是名称
答案 1 :(得分:1)
如果您的标签位于某种模板中,则它不能直接在页面范围内使用。以下是您可以访问它的粗略示例:
MyPage.aspx
<asp:Repeater ID="repGeneric" runat="server" OnItemDataBound="RepGenericItemDataBound">
<ItemTemplate>
<asp:Label ID="lblnorecords" runat="server" CssClass="separateYourCss" />
</ItemTemplate>
</asp:Repeater>
MyPage.aspx.cs
...
protected void RepGenericItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item
|| e.Item.ItemType == ListItemType.AlternatingItem) {
var myLabel = e.Item.FindControl("lblnorecords");
myLabel.Text = "No Records Found";
}
}
答案 2 :(得分:1)
有时名称尚未注册到.aspx.designer.vb文件,这会导致问题,因为代码隐藏会从该文件中获取命名信息。您可以通过在代码隐藏中使用intellisense轻松地看到它,并查看变量名是否存在。 如果它没有注册它是一个VS错误。
在.aspx中从源到设计点击几次,看看该名称现在是否已在.aspx.designer.vb文件中正确注册。如果没有,请手动更改。
答案 3 :(得分:1)
我遇到了同样的问题。
单选按钮列表,效果不佳。并显示“未声明名称norecord”。
可能你有两个同名或类似名字的aspx,而lengauge并不是这个控件的所有者是什么页面。
例如,y有两个页面名称相同的页面.aspx和page1.aspx,两者都包含在项目中,我排除了其中一个项目并且一切运行良好。
检查一下。
答案 4 :(得分:0)
如果你得到同样的错误 没有宣布。由于其防护等级,它可能无法访问 更改控制属性: GenerateMember = True
仅更改属性
答案 5 :(得分:0)
我也有这个问题。关闭并重新打开Visual Studio后,变量已被识别,因此请尝试重新启动设计环境。