不拖控件的asp.net编程方法——第1回

以前写的asp.net程序基本上都用了webfrom的控件编写的,当然有个好处就是易入门、快速效率高,但感觉自己这了几个小系统,还是没学到什么东西,感觉心里没底,因为都是封装好的东西,拿来就用的,功能能实现,但原理性的东西不明白,所以遇到有些错误根本无从下手,虽然貌似很多公司开发都有控件,但作为学生个人觉得还是别用好,当然那些自定义控件的又另当别论。

本想深入研究asp.net MVC,但发现不懂的知识太多了,所以现在暂时先学HTML+ashx这样的形式,换成这种形式写还真不习惯,下面把我今天学的内容记录下来:

先新建个项目,然后建立一个HTML页和ashx一般处理程序,简单来说,客户用浏览器的HTML页面发出请求,发送到服务器的ashx进行处理,然后ashx又返回给浏览器以HTML形式呈现给用户,下面是HTML代码:

<form action="Handler.ashx" method="get">         <!--action就是指定表单要提交到哪个处理程序,有两种方式,一种为get,一种为post-->

账号:<input type="text" name="account"/><br/>

密码:<input type="text" name="password"/><br/>

<select name="zhongzu">

<option value="ren">人</option>

<option value="yao">妖</option>

<input type="submit" value="登录">                  <!--貌似只有text、select、radio的数据能被提交-->

</form>

就是一个登录界面,然后能选择是人还是妖-。-

ashx的代码:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

namespace ajaxlianxi

{

/// <summary>

/// Handler 的摘要说明

/// </summary>

public class Handler : IHttpHandler

{

public void ProcessRequest(HttpContext context)

{

context.Response.ContentType = "text/html";

string account = context.Request["account"];

string password = context.Request["password"];

string zhongzu = context.Request["zhongzu"];

if (account == "111" && password == "222")

{

if (zhongzu == "ren")

{

context.Response.Write("你好,人类");

}

else

{

context.Response.Write("你好,妖怪");

}

}

else

{

context.Response.Write("登录失败");

}

}

public bool IsReusable

{

get

{

return false;

}

}

}

}

运行结果如下:

点击登录

注意登录后的URL为 http://localhost:9913/Handler.ashx?account=111&password=222&zhongzu=yao
可以看到链接里有表单里填的参数,那我的账号密码岂不是会给人看见?用post方法进行了,还有get有限定传值的大小,post没有限定。

ashx用context.Request["account"]来接收账号的值,以此类推,然后在if里做判断,得出下面的结果~

在一般处理程序处理后就返回HTML结果给浏览器

接下来还要继续深入的学习这个模式,感觉这个模式比拉控件有趣多了,但是要学好还是有一段很长的路要走,继续加油了

不拖控件的asp.net编程方法——第1回

时间: 2024-10-13 16:58:23

不拖控件的asp.net编程方法——第1回的相关文章

跨线程访问控件的问题和编程方法

很多时候写windows程序都需要结合多线程,经常会跨线程操作控件,这时就会出错,提示不允许"从不是创建控件的进程访问它". 这个时候的解决思路:把想对另一线程中的控件实施的操作放到一个函数中,然后使用delegate代理那个函数,并且在那个函数中加入一个判断,用InvokeRequired来判断调用这个函数的线程是否和控件线程在同一线程中,如果是则直接执行对控件的操作,否则利用控件的Invoke或BeginInvoke方法来执行这个代理,执行唤醒控件的操作.Invoke的中文解释是唤

【Visual Basic】纯代码不拖控件,利用动态生成控件的方式完成一个简单的四则运算计算器

vb6是一个典型的拖控件加代码的编程代表,因此也一直被认为难登大雅之堂,但是,在vb6中可以完全纯粹地使用代码控制这个窗体与窗体的控件.这样生成出来的控件位置摆放精确无比,无须拖好控件之后,再利用工具栏的"格式"菜单慢慢地调整大小.这种方式的确定是声明一个控件要耗费大量的代码,但其实Java中的Swing,HTML+CSS排放控件,比这好不了多少. 当然,比vc6中mfc的代码简单了不少,具体见<[mfc]基本对话框程序--加法器>(点击打开链接) 一.基本目标 利用纯粹代

不拖控件ASP.NET——一般处理程序

    习惯了微软提供的一系列Web控件,用着很方便,最近看了一种新的方式不用拖控件就能实现同样的功能,究竟拖控件好还是不拖控件好,随着以后学习的深入,答案会慢慢揭晓,希望一直关注哦!今天我们来看看一般处理程序. 1.      一般处理程序(HttpHandler) ?  引入     我们从一个网站打开的流程讲起.如下图:     流程细说:用webForm开发一个模拟的登陆页面,用户打开登陆页面,填入相应的用户信息:用户名和密码,点击[登陆]按钮,浏览器将用户名和密码发送给网站服务器,网站

【实战项目】【FLEX】#900 实现拖控件功能

一.功能说明:拖控件的功能(类似FLEX,VS 里面的拖控件). 提示:大家对事件的注册和派发的说法可能不一样.因为在FLEX中和在Java中,叫法有的区别.但是本质是一样的. 注册事件  == 设置监听事件    ||       派发事件 == 触发事件  ,也有人叫 “进行广播”            大家知道什么意思就好.   说明: 1.Application页面(放置控件列表,页面容器,属性面板这三个模块的Application页面)[PS:以下简称:主页面 ] 1.1  主页面加载

VS2010 Chart控件(一)Chart控件在ASP.NET网站中的应用示例详解(C#语言)

步骤如下: 1. Chart控件(一)Chart控件在ASP.NET网站中的应用示例详解(C#语言)" title="VS2010 Chart控件(一)Chart控件在ASP.NET网站中的应用示例详解(C#语言)" action-data="http%3A%2F%2Fs8.sinaimg.cn%2Fmw690%2F6988593etx6DhZWSOATc7%26690" action-type="show-slide" style=&

WPF编程,通过Double Animation动态更改控件属性的一种方法。

原文:WPF编程,通过Double Animation动态更改控件属性的一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/article/details/87251422 DoubleAnimation类指定起始值(From="30").终点值(To="300").时间(Duration="3"),以及动画结束应该如何(FillBehavior="Stop&qu

WPF编程,通过【帧】动态更改控件属性的一种方法。

原文:WPF编程,通过[帧]动态更改控件属性的一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/article/details/87249998 WPF提供了一种基于帧的动画实现方式,由CompositionTarget类来完成. WPF会在每次界面刷新时调用该回调函数. CompositionTarget的刷新率与窗体保持一致,因此很难人工控制动画的快慢. ?1.前台 <Grid> <Grid.RowDefin

dotConnect for Oracle控件免费下载及使用方法

原文来自龙博方案网http://www.fanganwang.com/product/1330转载请注明出处 dotConnect for Oracle完全基于ADO.NET方法,因此您完全可以采用标准ADO.NET数据提供的方法来使用它.是一款为Microsoft .NET Framework提供直接Oracle数据库连接的数据发生器控件. 具体功能: 无需Oracle客户端,采用直接模式提供数据库连接 100%代码管理 具有高表现性能 支持Oracle 10g, 9i, 8i 和 8.0,包

控件绘制的四种方法

OWNER?DRAW实现自绘按钮 一准备工作 在您决定开发 Windows 提供的常规免费自定义控件范围之外的控件之后,您必需确定自己的控件将有多少独到之处 - 在功能和外观两方面.例如,我们假定您正在创建一个类似于计速表的控件.由于公共控件库 (ComCtrl32.dll) 中没有类似的控件,您完全需要自己进行以下操作:编写所有控件功能需要的代码,进行绘制,默认终端用户的交互,以及控件与其父窗口之间需要的任意消息处理. (#add 两方面,公共控件库中没有类似的 完全重写;? 只想调整公共控件