C# 错误:“名称 '..' 在当前上下文中不存在”

这让我发疯。我想做一些简单但不知道的事情,因为我是一个绝对的初学者。我想获取文本框中的内容,并将它们放入 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>


元芳怎么了
浏览 1231回答 2
2回答

慕运维8079593

您id在 aspx 文件中的标签元素上缺少属性<label&nbsp;id="submittedData"&nbsp;runat="server"></label>

缥缈止盈

您可以更改您的代码,如下所示:<asp:Label&nbsp;id="submittedData"&nbsp;runat="server"></asp:Label>或asp:字面意思。由于您当前的标签不是 asp 服务器控件,因此您可能无法通过标签来设置它。您的基础 html 仍将生成&nbsp;<label for>标记。我还注意到您使用过:<label&nbsp;for="name">&nbsp;next&nbsp;to&nbsp;your&nbsp;text&nbsp;input&nbsp;box.您可以使用&nbsp;<asp:Label id=“labelName” AssociatedControlId=“name” runat=“server”>这样,如果您单击标签,您的文本框将获得焦点
打开App,查看更多内容
随时随地看视频慕课网APP