PHPer初涉asp.net的心得体验及两者对比[2]

来源:互联网 发布:算法导论pdf完整版 编辑:程序博客网 时间:2024/06/10 08:02



关于配置信息

在PHP中,我们通常会include一个配置文件(我通常起名叫做config.php),这个配置文件里面存储了数据库连接信息或是其它配置信息,比如

class configuration
{
 /**
  * 数据库连接参数
  * @var $cfg['db']
  */
 var $db=array(
  'type'=>'mysql',
  'host'=>'localhost',
  'user'=>'opencrm',
  'pwd'=>'opencrm!@#456',
  'port'=>'3306',
  'name'=>'media999_sys_utf8',
  'pconn'=>'',
  'page_size'=>'15',
  'char'=>'utf8',
 
 );

}

届时会这样使用

$cfg = new configuration;

echo $cfg->db["host"];

 

而在ASP.net中呢,他在根目录下会专门有一个web.config文件来存储配置信息,这是一个结构类似于XML的文件,你可以在里面自定义各种变量,不过里面也有.net自已存储的一些配置信息,比如下面这样
<?xml version="1.0"?>
<configuration> 
 <connectionStrings>
  <add name="pubsConnectionString" connectionString="Data Source=SAMPAN;Initial Catalog=pubs;Persist Security Info=True;User ID=sa;Password=sa"
   providerName="System.Data.SqlClient" />
 </connectionStrings>
 <system.web>
    <authentication mode="Windows/"/>  
    <httpRuntime maxRequestLength="4096" executionTimeout="60" appRequestQueueLimit="100"/>
 </system.web>
</configuration>
如果我想要读取
Data Source=SAMPAN;Initial Catalog=pubs;Persist Security Info=True;User ID=sa;Password=sa

的话,可以用这样的方式
ConfigurationManager.connectionStrings["pubsConnectionString"]

 

关于事件处理

asp.net真的很VB,因为MS想把WEB设计做成软件设计的样子。

在PHP中,通常我们都是通过表单form来触发事件的,所以要在form那里指定受理的文件(当然了,如果用XAJAX的话,也可以很VB)

然而在asp.net中,表单form不会指定受理文件,他的理务处理大多由"CodeFile"指定的文件内的对像的成员方法完成,比如default.aspx
<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="default.aspx.cs" Inherits="_Default" %>

而在default.aspx.cs里面肯定会有一个类“_Default”

比如default.aspx内有一个表单,用于添加数据的,那么他是这样的
<form id="form1" runat="server">    
<!--这个是表单-->
<asp:TextBox ID="TextBox_zip" runat="server"></asp:TextBox> 
<!--WEB控件:文本输入框-->
<asp:Button ID="Button1" runat="server" Text="确认" ōnClick="Button1_Click" /> 
<!--WEB控件:提交按钮-->
</form>

当你点击确定,由onclick事件触发Button1_Click,而这个Button1_Click则是default.aspx.cs里面类“_Default”的成员方法

用起来是不是跟VB一样??所以我说asp.net很VB