C#学习

C#学习路线 C#学习路线 导读 有的初学者对于如何开始学习C#感到无从下手,不知看哪些书,或者是看什么视频,没有目的性,这样就会影响学习效率,也会影响学习的热情。最重要的是很多同学学之前问很多和学习无关的问题,比如:C#是不是不如JAVA好?C#有前途吗?等等。博主认为现在观望还不如现在学习。本篇文章介绍了博主自己总结的C#学路线。如果大家有什么更好的想法或者好的建议可以共同探讨。   有的同学对直接看书有... 阅读详情
1. OnPreInit方法
 在页初始化开始时引发 PreInit 事件
 命名空间:System.Web.UI
 程序集:System.Web(在 system.web.dll 中)

在调用 OnPreInit 方法后,将加载个性化信息并初始化页主题(如果有)。这也是为页动态定义 PageTheme 或 MasterPage 的首选阶段。引发事件时会通过委托调用事件处理程序。

OnPreInit 方法还允许派生类对事件进行处理而不必附加委托。这是在派生类中处理事件的首选技术。

给继承者的说明 在派生类中重写 OnPreInit 时,一定要调用基类的 OnPreInit 方法,以便已注册的委托对事件进行接收。

2. 关于session
 什么是session?
Session 是 ASP 和 ASP.NET 中用于保持状态的基于 Web 服务器的方法。Session 允许通过将对象存储在 Web 服务器的内存中在整个用户会话过程中保持任何对象。
Session 通常用于执行以下操作:

  • 存储需要在整个用户会话过程中保持其状态的信息,例如登录信息或用户浏览 Web 应用程序时需要的其它信息。
  • 存储只需要在页重新加载过程中或按功能分组的一组页之间保持其状态的对象。

    Session 的作用就是它在 Web 服务器上保持用户的状态信息供在任何时间从任何页访问。因为浏览器不需要存储任何这种信息,所以可以使用任何浏览器,即使是像 PDA 或手机这样的浏览器设备。

 session的限制:
 

  • 随着越来越多用户登录,Session 所需要的服务器内存量也会不断增加。
  • 访问 Web 应用程序的每个用户都生成一个单独的 Session 对象。每个 Session 对象的持续时间是用户访问的时间加上不活动的时间。
  • 如果每个 Session 中保持许多对象,并且许多用户同时使用 Web 应用程序(创建许多 Session),则用于 Session 持久性的服务器内存量可能会很大,从而影响了可伸缩性。


    比较 Session 和 ViewState

    Session 主要用于保持代码隐藏类中对象的状态。ViewState 主要用于保持 Web 页上控件的状态。当 Web 页上的控件被绑定到代码隐藏类中的对象,并且两者都需要在页重新加载过程中保持时,Session 和 ViewState 共同实现持久性。

    在这种情况下,ViewState 保持 CrystalReportViewer 控件,而 Session 保持绑定到该控件的 ReportDocument 对象。

    3.什么是ViewState?
     
    ViewState 是 ASP.NET 中保持视图(也就是 Web 窗体)状态的基于浏览器的方法。其主要功能是支持 Web 控件的持久性。
      ViewState 自动维护所有 Web 控件的状态。这是通过让 ViewState 根据控件的 EnableViewState 属性(默认为 True)存储每个控件实现的。

      因为 ViewState 存储页上 Web 控件中数据的状态,所以当页在浏览器和 Web 服务器之间来回传输时,整个 ViewState 对象必须包括在页中。这是通过将整个 ViewState 对象加密为字符串,然后将该字符串放置在页上隐藏窗体标记的值中实现的。例如,对于仅有一个按钮控件的 ASP.NET Web 页面,其 ViewState 的 HTML 代码如下:

    <input type="hidden" name="__VIEWSTATE" value="dDwtNTMwNzcxMzI0Ozs+I7GfLyg3p44eTLFCiVEiRKUBzFw=" />

     ViewState 只存储可转换为字符串格式的信息。


    4.IsPostBack属性

    获取一个值,该值指示该页是否正为响应客户端回发而加载,或者它是否正被首次加载和访问。

    命名空间:System.Web.UI
    程序集:System.Web(在 system.web.dll 中)

    如果是为响应客户端回发而加载该页,则为 true;否则为 false。


    5.FindControl
     在当前的命名容器中搜索指定的服务器控件。

    Control.FindControl (String) 在当前的命名容器中搜索带指定 id 参数的服务器控件。
    Control.FindControl (String, Int32) 使用指定的 id 和 pathOffset 参数(该参数有助于搜索)中指定的整数在当前命名容器中搜索服务器控件。不应重写此版本的 FindControl 方法。
     

【C#开发】C#学习全攻略 为了让大家更好地将所学知识应用到实际中,我们来做一个控制台版的学生管理系统。这个系统虽然看起来简单,但却涵盖了 C# 的很多核心知识,通过完成这个项目,你会对 C# 有更深入的理解和掌握。它就像是一个小型的 “数字校园助手”,虽然没有华丽的界面,但却能实实在在地帮助我们管理学生信息,是学习 C# 编程的一个很好的实践项目。在这个项目开发过程中,可能会遇到各种问题。 阅读详情

相关推荐

关于C#的学习路径

持续关注.NET 8/9路线图,提前布局AOT编译、WebAssembly等前沿方向。具备跨平台开发能力(Windows/Linux/macOS)池化技术(ArrayPool/MemoryPool)高性能编程(Span<T>/MemoryPool)异步流(IAsyncEnumerable)微服务通信(gRPC/WebSocket)云原生应用开发(Azure/AWS集成)Clean Architecture实现。大数据处理(Azure Synapse)深度学习加速(TorchSharp)

m0_71802005的博客 937

C#学习笔记之INI文件处理

在使用C#时有些时候要存储一些信息,会使用到INI配置文件。 using System.Runtime.InteropServices; 1. 源码 namespace HCIUtilsLog { class ZGIniFile { private string iniPath; [DllImport("kernel32")] ...

xsophiax的专栏 358

C#语言的学习路线

C#是一种面向对象的编程语言,设计之初就以简洁性和高效性为目标。其语法与C++和Java相似,易于上手。C#最初是作为.NET框架的一部分开发的,因此与.NET的生态系统紧密相关。学习C#的过程是循序渐进的,我们建议按照上述学习路线进行,以便系统地掌握C#。在学习的过程中,不仅要理解理论,还要注重实践,只有通过实际编码,才能真正掌握这门语言。随着技术的发展,不断更新自己的知识和技能,保持学习的热情,这样才能在信息技术的海洋中游刃有余。希望这条学习路线可以助你在C#编程的旅程中驶向成功的彼岸!

2401_90031819的博客 1509

c#学习c#学习c#学习

c#学习c#学习c#学习c#学习c#学习c#学习

master3003的博客 8080

C#新手学习快速成长学习资源汇总

目录 一:引言 二:.NET技术体系 三:常用工具汇总 四:学习资源汇总 五:书籍推荐 六:关于阅读技术书籍的经验 七:总结   一:引言 因为工作调整,从PHP开发零基础转型到.NET开发,前期没有太多空闲时间去系统学习。只好独辟蹊径,寻找快速掌握满足当前需求的方法,和大家分享: :先搜集.NET平台重点知识点的概念名称,然后通过网络搜集

whChina(江城老温) 1万+

C#学习路径

理解特性(Attribute)的定义和使用,特性可以为类型、成员等添加元数据。

weixin_41484939的博客 2283

C# 学习网站

C# 学习网站

qq_39690222的博客 1285

2026年数据中心运行与管理专业人才培养基地建设方案(高职、数据中心运行与管理新专业、人才培养、专业代码:510310)

摘要: 为响应国家“东数西算”战略和数字经济需求,我校拟联合行业领军企业建设数据中心运行与管理人才培养基地。项目基于国家政策引导和产业快速发展背景,针对行业10万人才缺口,对标教育部新设专业标准(510310),分三阶段实施五年规划:专业奠基(2026-2028)、内涵深化(2028-2029)、辐射引领(2030-2031)。建设内容涵盖校企协同岗位能力分析、模块化课程开发(如网络管理、自动化运维等)、实训基地搭建及“课证融通”培养模式,重点培养基础设施、网络服务、运维托管三类岗位技能人才,目标建成区域性

啊碧根果的博客 1687

C# 学习路线

C#学习路线 来源 https://www.cnblogs.com/yezongjie/p/CSharp_Study_Road.html 导读   有的初学者对于如何开始学习C#感到无从下手,不知看哪些书,或者是看什么视频,没有目的性,这样就会影响学习效率,也会影响学习的热情。最重要的是很多同学学之前问很多和学习无关的问题,比如:C#是不是不如JAVA好?C#有前途吗?等等。博主认为...

weixin_30872499的博客 941

200smart 模拟量转换库的建立

模拟量当前值 =(工程值 - 工程量下限)*(模拟量上限 - 模拟量下限)/ (工程量上限 - 工程量下限)+ 模拟量下限2. 建立变量表3. 程序。

mmxxoo_xxmmp的博客 4217

模拟IC版图DRC实战:手把手教你搞定MIM电容天线错误和ESD.10g违例

本文深入解析模拟IC版图中的MIM电容天线错误和ESD.10g违例问题,提供从错误解码到实战修复的完整指南。通过电路图修改、版图优化和验证闭环等步骤,帮助工程师高效解决DRC错误,特别适用于ADC等精密模拟电路设计。文章还分享了高级排错技巧和预防性设计策略,大幅提升流片成功率。

weixin_27697385的博客 295

如何学习C#

第一步:百度百科C# /.net 以及他们的区别第二步:淘宝课程学习

游戏开发-大雄 1529

PyTorch生成式人工智能(7)——生成对抗网络(Generative Adversarial Network, GAN)实践详解

生成对抗网络 (Generative Adversarial Network, GAN) 最早由 Ian Goodfellow 于 2014 年提出,其中生成器试图创建与真实样本无法区分的数据样本,而判别器则试图区分生成器生成的样本与真实样本。在本节中,我们将介绍 GAN 的理论基础。然后,介绍如何使用 PyTorch 从零开始构建 GAN,以便了解所有细节,深入理解 GAN 的内部工作原理,为后续讨论 GAN 的其他更高级内容奠定基础,比如生成高分辨率图像或逼真的音乐。

盼小辉丶的博客 1万+

C#的学习总结

过程        这次C#语言的学习,是自己目前学过的编程语言中,在学习过程中思路比较清晰的一门语言,下面分享自己的学习过程。        自己在刚开始学习C#语言的时候,没有上来就学,而是,首先制定一个计划,把C#语言的学习当成一个工程来完成,制定每一个阶段的任务和时间。自己制定的计划大致如下图:            制定了学习的每个阶段后,自己就开始学习。对于上图的计划,自己在

张青山 4251

韩版传奇 2 源码分析与 Unity 重制(一)服务端 TCP 状态管理

该专题将会分析 LOMCN 基于韩版传奇 2,使用 .NET 重写的传奇源码(服务端 + 客户端),分析数据交互、状态管理和客户端渲染等技术,此外笔者还会分享将客户端部分移植到 Unity 和服务端用现代编程语言重写的全过程。本文重点介绍了服务端的启动链路、网络初始化和连接处理这三个过程,并简要分析的游戏循环的实现与数据包处理,在下一篇文章中,我们会从客户端角度分析从游戏启动、登录、游戏开始和基础游戏交互的全流程。

东方猫的博客 2499

YOLOv8 模型进化全解析:百种创新模块集成方法与实战部署指南(附资料链接)

动态网络 | DeformableConv/DynamicHead| +2.8% || 轻量化卷积 | GhostConv/MobileConv | +1.2% || 多尺度融合 | AFPN/ASFF | +3.5% || 注意力机制 | CA/EMA/SimAM | +1.8-4.2% |

FJN110的博客 111

怎么深入学习C#

 本人学习C#有一段时间了,也会了一些基本的,C#教程上的基本知识点还是可以理解,连数据库也会一点点(vs 2005)现在想深入学习,不过现在有点不知所措了.希望大家给点好的建议,小弟感激不尽!

F__35的专栏 888

【OpenClaw从入门到精通】:Web控制台使用全解析——可视化配置与监控(2026实操版)

在OpenClaw的多种管理方式中,Web控制台提供了最直观、最友好的用户体验。通过图形化界面,用户可以轻松完成复杂的配置任务,实时监控系统状态,以及进行各种管理操作。对于不熟悉命令行的用户来说,Web控制台是最佳选择。

一键难忘的博客 1929

【C#语言】机器学习库

C# 机器学习库为.NET 开发者开辟了一条通往机器学习领域的便捷通道,它们凭借各自独特的优势,在不同的应用场景中发挥着重要作用。ML.NET与.NET 生态的深度融合,使得开发者能够轻松地将机器学习功能集成到现有的.NET 应用中;借助 TensorFlow 的强大功能,为 C# 开发者提供了实现复杂深度学习任务的能力;Accord.NET丰富的算法集合和强大的信号处理、图像处理功能,使其在多个领域都能大显身手;

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 1508

Midscene.js(2):代码集成 + 桥接模式(Bridge Mode)的使用「喂饭教程」

本文将手把手教你从零开始搭建一个 Node.js 项目,集成 Midscene.js,并利用其桥接模式实现对 Chrome 浏览器的自动化操作。我们将通过具体的实例,来展示 Midscene.js 的便捷性与 AI 能力的结合。

blues_C的博客 1844

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

基于C#的机器学习--目录

转载请注明出处:https://blog.csdn.net/wyz19940328/article/details/85700819 目前国内关于机器学习的内容多是Python或者Go或者C++的,.NET平台下的多是使用封装好的工具包,而几乎没有关于如何使用C#实现的内容。目前有翻译版本的NET平台下的机器学习的书籍,不过却是F#语言的,没有C#。 目录 1.机器学习的基本知识 机器学习...

王振耀 6078

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

我的C#学习路线

开发环境 Visual Studio 世界一流IDE,社区版免费,学习绝对够用 各版本比较https://visualstudio.microsoft.com/zh-hans/vs/compare/ 调试建议配合OzCode插件,代码补全等辅助功能建议配合ReSharper("学习版"网上也有) 值得看的书 1 Accelerated C# - C# 4.0捷径教程 * 2 .NET Doma...

qq_35794597的博客 4073

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

上一篇: SQL数据库完全手册
下一篇: 转载非常不错的页面制作方法
rbwang
博客等级 码龄19年 19粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值