我可以使用Page_Load在我的aspx文件
本文关键字:我的 aspx 文件 Load 可以使 Page 我可以 | 更新日期: 2023-09-27 18:11:04
我正在使用VisualStudio 2013 Express for WEB,我创建了一个空的WEB应用程序,然后添加了一个新的WEB表单。
我正在努力学习ASP。我了解到,在会话/页面生命周期中有Page_Load,我可以在页面加载后执行将发生的事情。事情是我了解到,有可能将Page_Load事件在<script>
下<HTML>
标签之前。
(aspx文件名是Register)当我尝试这个:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Register.aspx.cs" Inherits="Learning.Register" %>
<!DOCTYPE html>
<script runat="server">
int randomnumber = 0;
public void Page_Load()
{
Random rnd = new Random();
randomnumber = rnd.Next(100000, 1000000);
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<% Response.Write(randomnumber); %>
</div>
</form>
</body>
</html>
由于某种原因我得到的都是0。
此外,我注意到在Register.aspx.cs下我有这个:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Learning
{
public partial class Register : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
}
可以使用script标记将服务器端代码放入aspx中。但是页面加载语法应该与(.cs文件)
后面的代码完全匹配。Page_Load(object sender, EventArgs e)
在你的脚本代码中,你只有Page_Load(),它根本不触发。如果需要执行此操作,则需要删除后面代码中的函数并替换脚本标签
在script标签你需要有base.OnLoad(e)
protected void Page_Load(object sender, EventArgs e)
{
base.OnLoad(e)
Random rnd = new Random();
randomnumber = rnd.Next(100000, 1000000);
}
那是因为你重写了基类的行为,如果你不调用base.OnLoad(e)
,那么Page_Load
将不会在标记端运行。