【问题标题】:C# Error: "The name '..' does not exist in the current context"C# 错误:“名称 '..' 在当前上下文中不存在”
【发布时间】:2018-09-10 05:12:05
【问题描述】:

这让我发疯了。我想做一些简单但不知道的事情,因为我是一个绝对的初学者。我想获取文本框中的内容,并将它们放入 1 个标签中,然后使该标签可见。无论我尝试什么,我都会不断收到此错误,“名称‘submittedData’在此上下文中不存在。 我做错了什么?

下面是代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Globalization;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}

protected void submit_Click(object sender, EventArgs e) 
{
    submittedData.Text = name.Text + " " + email.Text + " " + phone.Text;
    submittedData.Visible = true;
}
}

还有aspx:

 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

 <!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<link rel="stylesheet" type="text/css" href="StyleSheet.css"></link>

<title>Coding Club</title>
</head>
<body>
<form id="form1" runat="server">
    <div>
        <h1>Coding club registration form</h1>

        <label for="name">Your Name:</label>
        <asp:TextBox ID="name" runat="server" TextMode="SingleLine"></asp:TextBox>
    </div>

    <div>
        <label for="email">Your Email:</label>
        <asp:TextBox ID="email" runat="server" TextMode="SingleLine"></asp:TextBox>
    </div>

    <div>
        <label for="phone">Your Phone:</label>
        <asp:TextBox ID="phone" runat="server" TextMode="SingleLine"></asp:TextBox>
    </div>
    <div>
        <asp:Button ID="submit" runat="server" Text="Submit" onclick="submit_Click" />

        <asp:Button ID="clear" runat="server" Text="Clear Form" />
    </div>
    <div>
        <label for="submittedData" runat="server"></label>
    </div>

</form>
</body>
</html>

【问题讨论】:

  • 您在最后一个标签上没有 id,这似乎是您的目标。你有一个“for”属性。

标签: c# asp.net webforms


【解决方案1】:

您在 aspx 文件中的标签元素上缺少 id 属性

<label id="submittedData" runat="server"></label>

【讨论】:

    【解决方案2】:

    您可以像下面这样更改您的代码:

    <asp:Label id="submittedData" runat="server"></asp:Label>
    

    或 asp:literal。

    由于你当前的标签不是一个asp服务器控件,你不能通过thing的标签来设置它。

    你的底层 html 仍然会生成 &lt;label for&gt; 标签。

    我还注意到你使用过:

    <label for="name"> next to your text input box.
    

    你可以使用&lt;asp:Label id=“labelName” AssociatedControlId=“name” runat=“server”&gt;

    这样,如果您单击标签,您的文本框将获得焦点

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-01
      • 2010-12-17
      • 2019-01-16
      • 1970-01-01
      相关资源
      最近更新 更多