刚开始学习ASP.NET,在按教学视频使用时出现了异常。
情况如下:
<%@ 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 href="styles.cs" rel="stylesheet" type="text/css" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Web Pages Demo</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<input id="Text1" type="text" runat="server" name="Text1"/>
<asp:Label ID="Label1" runat="server" Text="Label" name="Label1"></asp:Label>
</div>
</form>
</body>
</html>页面中简单地添加了一个html控件输入框,Label控件。
在Page_Load事件中加入代码。
protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = Request.Form["Text1"].ToString();
}
在运行时出现异常,提示未将对象引用设置到对象的实例。
开始研究了半天,以为是使用错误,后来才发现在Page_Load事件发生时,控件并未实例化,故不可使用,添加一个Button,将语句写入Button_Click事件中,测试成功。
注意Request.Form[""]中填入的是控件的name,而不是ID。
本文介绍了一位ASP.NET初学者遇到的问题:在Page_Load事件中尝试操作未实例化的控件导致异常。通过调整代码逻辑至Button_Click事件,成功解决了问题。
194

被折叠的 条评论
为什么被折叠?



