aspx 元素在隐藏代码中无法识别 (asp.net)
aspx element is not recognized in code behind (asp.net)
我创建了一个带有 runat="server" 标签的元素,但在后面的代码中无法识别我。(无法识别“time”)
aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="game.aspx.cs" Inherits="RapidTyper.game" %>
<!DOCTYPE html>
<div runat="server">
<a runat="server" id="time"></a>
</div>
<asp:Button ID="UpdateResults" runat="server" ClientIDMode="Static" style="display:none;" OnClick="Button1_Click" Text="" />
code behind
protected void Button1_Click(object sender, EventArgs e)
{
int score = time.Text;
}
元素 <a runat="server" id="time"></a>
不是 asp.net 元素而是 Html element 没有 Text
属性.
您可以使用呈现 <a>
标记的 LinkButton <asp:LinkButton runat="server" ID="time2"></asp:LinkButton>
并具有文本 属性。
- 此外,
<a>
标签不是输入元素,也不会 post 返回任何东西 - 所以 score = time.Text
除了你已经准备好的那个之外不会得到任何东西之前设置。
阿里斯托斯写的是对的,但是你的问题比这更深。为了使用像 <asp:Button />
这样的元素,您需要将它们放在一个表单中,而表单又需要在 <body>
中。至少你需要这样的东西:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="test.aspx.cs" Inherits="eShop.test" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox runat="server" id="time" />
</div>
<asp:Button ID="UpdateResults" runat="server" OnClick="UpdateResults_Click" />
</form>
</body>
</html>
请注意,我假设您还需要类似 <asp:TextBox>
的东西。我认为这应该是某种用户输入?最后,您将无法简单地执行 int score = time.Text
,因为 Text 是一个字符串。至少你需要 int score = int.Parse(time.Text)
但这只有在盒子包含一个实际整数的情况下才有效。其他任何东西都会抛出错误。相反,你应该看看 int.TryParse
我创建了一个带有 runat="server" 标签的元素,但在后面的代码中无法识别我。(无法识别“time”)
aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="game.aspx.cs" Inherits="RapidTyper.game" %>
<!DOCTYPE html>
<div runat="server">
<a runat="server" id="time"></a>
</div>
<asp:Button ID="UpdateResults" runat="server" ClientIDMode="Static" style="display:none;" OnClick="Button1_Click" Text="" />
code behind
protected void Button1_Click(object sender, EventArgs e)
{
int score = time.Text;
}
元素 <a runat="server" id="time"></a>
不是 asp.net 元素而是 Html element 没有 Text
属性.
您可以使用呈现 <a>
标记的 LinkButton <asp:LinkButton runat="server" ID="time2"></asp:LinkButton>
并具有文本 属性。
- 此外,
<a>
标签不是输入元素,也不会 post 返回任何东西 - 所以score = time.Text
除了你已经准备好的那个之外不会得到任何东西之前设置。
阿里斯托斯写的是对的,但是你的问题比这更深。为了使用像 <asp:Button />
这样的元素,您需要将它们放在一个表单中,而表单又需要在 <body>
中。至少你需要这样的东西:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="test.aspx.cs" Inherits="eShop.test" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox runat="server" id="time" />
</div>
<asp:Button ID="UpdateResults" runat="server" OnClick="UpdateResults_Click" />
</form>
</body>
</html>
请注意,我假设您还需要类似 <asp:TextBox>
的东西。我认为这应该是某种用户输入?最后,您将无法简单地执行 int score = time.Text
,因为 Text 是一个字符串。至少你需要 int score = int.Parse(time.Text)
但这只有在盒子包含一个实际整数的情况下才有效。其他任何东西都会抛出错误。相反,你应该看看 int.TryParse