小议AutoEventWireup属性「建议收藏」

小议AutoEventWireup属性「建议收藏」1.在web页面添加一个label和button控件ViewCode<%@PageLanguage="C#"AutoEventWireup="false

大家好,又见面了,我是你们的朋友全栈君。

1.在web 页面添加一个label和button控件

小议AutoEventWireup属性「建议收藏」
小议AutoEventWireup属性「建议收藏」
View Code

<%@ Page Language="C#" AutoEventWireup="false" CodeFile="AutoEventWireup属性.aspx.cs"
    Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Label ID="Label1" runat="server" Text="为什么不显示" BackColor="Blue" ForeColor="Red"></asp:Label>
    </div>
    <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
    </form>
</body>
</html>

 

在codebehind里的Page_Load事件中改变lable的text值,this.Label1.Text = “为什么没改变”;

结果:label的值还是“为什么不显示”,为什么我在Page_Load事件中改变lable的text值没起作用呢?原因很简单:前台页面中存在 AutoEventWireup=”false”,不会自动加载Page_Load()方法

如果 AutoEventWireup=”true”,会自动加载Page_Load()事件,label的值会改变成”为什么没改变”。

还有一种方法可以使得在AutoEventWireup=”false”时,可以加载Page_Load()方法:那就是必须手动重写OnInit()方法,在里面显示的给Load事件委托Page_Load()方法,

代码如下:

 protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);
        this.Load += new System.EventHandler(this.Page_Load);//显示的利用委托注册Load事件
    }

下面用到msdn上的话进行总结:

AutoEventWireup获取或设置一个值,该值指示 ASP.NET 页的事件是否自动连接到事件处理函数。AutoEventWireuptrue 时,ASP.NET 不要求您将事件处理程序显式绑定到页事件,如 Load ;为false,则反之。

 

注意下列有关将事件绑定事件处理程序的内容:

 

  • AutoEventWireup 设置为 true,请确保不会同时将页事件处理程序手动附加到事件。如果这样做,则可能多次调用处理程序。

  • 只为页面事件执行自动绑定,而不为页面上的控件的事件执行。

  • Oneventname 方法。

 

 msdn连接地址:http://msdn.microsoft.com/zh-cn/library/system.web.configuration.pagessection.autoeventwireup.aspx

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155116.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python中os.walk_python pathlib

    python中os.walk_python pathlibpython os.walk详解

    2022年4月21日
    37
  • 基于jsp和基于web的区别_java发送短信

    基于jsp和基于web的区别_java发送短信最新web/java/jsp实现发送手机短信验证码和邮箱验证码的注册登录功能(详细)最近几天有人需要帮忙做一个关于发送验证码的功能,之前没有做过,于是我鼓捣一阵子,记录一下关于web项目中注册登录常用的手机验证码和邮箱验证码的发送。作为一个演示项目,我没有使用任何框架,用了一个简单的jsp+Servlet,当然用boostrap美化了一下。代码带有注释,非常简单易懂。一、手机验证码由于手机…

    2022年10月13日
    0
  • WebGPU 初探 – Windows10上Chorme运行WebGPU程序

    WebGPU 初探 – Windows10上Chorme运行WebGPU程序WebGPU 是最新的 Web3D 图形 API 浏览器封装了现代图形 API Dx12 Vulkan Metal 这才是未来的标准 不像 WebGL2 0 苹果直接不支持 好 开始今天的分享 点击链接查看是否支持 WebGPU 首先分享链接 W3CWebGPU 组织 WebGPU 目前的进展可以查看 WebGPU 最新的进展和平台支持情况 WebGPU 文档 WebGPU 的官方介绍 说明比较详细 Web

    2025年7月2日
    0
  • window openJdk 下载「建议收藏」

    window openJdk 下载「建议收藏」windowopenJDK下载

    2025年6月11日
    0
  • C++多线程通信_c++ socket 多线程

    C++多线程通信_c++ socket 多线程参考:https://m.imooc.com/article/289630C++11标准库新引入的线程库https://www.jianshu.com/p/e5a3498ba930(一)多线程编程#include<iostream>#include<thread>#include<mutex>#include<condi…

    2022年10月6日
    0
  • VMware的虚拟机连不上网

    VMware的虚拟机连不上网1.如果你发现在VMware下运行的虚拟机无法连接网络,那下面的方法也许可以帮到你。(前提是你的物理网络是通的)第一步:在VMware界面下单击“编辑“→”虚拟网络编辑器”第二步:单击”更改设置”获取权限,如果有。则不需要单击第三步:单击左下角的”恢复默认设置“,等待完成,然后确定退出。第四步:刚刚恢复默认后有两个,你自己…

    2022年6月26日
    19

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号