个人之前重要用C#做C/S架构编程,ASP.Net编程接触只有三个多月,
总结几点经验和技术要点,很多东西都是一知半解,或只其然不知其所以然。

(1)在WebConfig文件中通过设置键值对,连接不同IP对应的数据库
(2)架构页面常用委托事件,可以使页面模板被重复加载(绑定Add,Del,Cancel等方法);
(3)从小窗体往主窗体传值一般用Container.DataBinder.DataItem(主窗体文本框ID,数据表字段);
(4)删除某行并刷新GridView,先转成Table执行删除操作,再把新的Table绑定到GridView;
(5)报表主要就是使用SQL语句把数据表中的指定数据填充到控件,然后导出到文本文件或者打印;条码很类似报表;
(6)发送邮件调用SMTP类,创建邮件对象,From里面使用邮件服务器;
(7)发送短信息,有多种,调用移动或连通接口,或者通过AT命令包控制短信猫;
(8)PDA相关的部分,编程基本没有区别,只是使用无线连接服务器;
(9)存储过程的使用,可以把常用的SQL语句封装在C# DM层的方法中;
(10)设置控件样式基本都是调用CSS文件;一直想不明白,Get和Post传值的原理,很郁闷

解决方案 »

  1.   

    发送邮件 端口25,110
    删除某行并刷新GridView,先转成Table执行删除操作,再把新的Table绑定到GridView  //获取行的标识来删除并从新绑定
    页面样式设置使用css  XML使用xsl / css
      

  2.   

    http://blogger.org.cn/blog/more.asp?name=lsl_internet&id=19058
    [软件技术]Post和Get的区别(兼谈页面间传值的方式) 从一个页面转向另一个页面的请求方式有两种,Post和Get.如果从原理上来探究他们的区别,涉及到Http传输协议的细节,这样深究下去,就成华为人干的事了,有空可以请教一下华为高人,我一个做企业软件的实在没那么多时间也没必要去研究那些东西,所以就看一下表象吧。所有的人都知道如下区别:
    1.Post传输数据时,不需要在URL中显示出来,而Get方法要在URL中显示。
    2.Post传输的数据量大,可以达到2M,而Get方法由于受到URL长度的限制,只能传递大约1024字节.
    3.Post顾名思义,就是为了将数据传送到服务器段,Get就是为了从服务器段取得数据.而Get之所以也能传送数据,只是用来设计告诉服务器,你到底需要什么样的数据.Post的信息作为http请求的内容,而Get是在Http头部传输的。我们的form表单的method方法,有两个,post,get.它在页面传值的时候的区别也就是上面提到的三点.先来看一下post方法.这个方法在asp时代应该跟程序员打交道很多的,因为那时候没有现在的ViewState,每个页面要恢复原来的状态,都要将页面Post给自身, 然后挨个取值,重新赋值.现在这些琐碎的事情都让ViewState代劳了.所以将页面post给自身的动作,在某种程度上已经被Asp.net的程序员们忘却了,所以Post也就被大部分的忽视了,这就是技术进步的双刃剑,带来方便的同时,蒙上你的眼睛。ViewState必须包含在<form runat="server">的窗体下,而只要包含了"runat="server""的标志,就甭想Post到其他页面中去,为什么?老盖说,我的ViewState是保存当前页面状态的,你要转到其他页面,他说,不行,**不认识的参数.如果想Post一个窗体,咋办?有四种方式可供选择.1.在页面上新建一个form,不要加上runat="server"的标志,当然在这个窗体下的控件也就不用想用Viewstate来传值了.当在其他有runat="server"的窗体的中的按钮事件中,手动调用新建form的submit() 函数.传送页面代码如下:
    <!--html代码-->
    <form id="Form1" method="post" runat="server">
                <input id="btnTransfer" type="button"  onclick="post();" runat="server">
                <input type="text" runat="server" id="SourceData">
            </form>
            <form id="forPost" method="post">
                <input type="text" runat="server" id="SourceData2">
            </form><!--Script代码-->
    <script language="javascript">
                function post()
                {
                    forPost.action="DestinationPage.aspx";
                    forPost.submit();
                }
            </script>  接收页面
    string a=Request.Form["SourceData2"].ToString(); 2.通过Session取值,在一个页面中赋值,在其他页面中共享,这个方式也被广泛应用,个人不倾向于用这种方式,我怕造成Session值的混乱无序,Session用来存一些公共的东西已经累得够呛了。3.通过Context传值,在传送页面之前,将需要传递到其他页面的值存在Context中。示例代码如下:传送页面
    //点击某个button时触发
    private void btnTransfer_ServerClick(object sender, EventArgs e)
             {
                Context.Items["SourceData"]=SourceData.Value;
                Server.Transfer("DestinationPage.aspx");
            } 接收页面
    string a=Context.Items["SourceData"].ToString(); 4.通过Server.Transfer的方式。
    这个方式在方法三种已经用到了,不过可以在调用页面为要传递到被调用页面的值创建属性(当然可以直接将它设成public),这样就可以在其他页面访问了。传送页面
    //要传送的值
    private 
    System.Web.UI.HtmlControls.HtmlInputText SourceData;public string getSourceData
    {
      get
       {
        return SourceData.Value;
      }
    }//传送页面
    Server.Transfer("DestinationPage.aspx"); 接收页面
    private SourceClass sourcePage;sourcePage=(SourceClass)Context.Handler;
                string aa=sourcePage.getSourceData; 以上就是Post的在不同页面传递数据的方式了。
    下面是get方法
    我常用的是  传送页面
    string aa=SourceData.Value;
                string bb=SourceData.Value;            string url="DestinationPage.aspx?parameter1="+aa+"&parameter2="+bb;
                Response.Redirect(url,false); 接收页面
    string aa=Request.QueryString["parameter1"].ToString();
                string bb=Request.QueryString["parameter2"].ToString();  
    至于 Response.Redirect(url,false)里的false都是Response.End()这个方法惹的祸,老盖说,写成false就好了,因为默认是true。我都转向其他页面了,还不让我终止原来页面的响应,BT
      

  3.   

    好多错误的言论http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/Q208/4/27.ASP&NoWebContent=1
      

  4.   

       架构页面常用委托事件,可以使页面模板被重复加载(绑定Add,Del,Cancel等方法); ----有点不明白楼主说的这句话是什么意思?能否说的详细一些。页面模板是不是你的页面只是一个框架,可以动态加载板块呢???4)删除某行并刷新GridView,先转成Table执行删除操作,再把新的Table绑定到GridView; 
    -----关于这一点真的有必要这样做吗?DataTable性能真的不怎么样还不如Ilist<>泛型这种。Get。就是URL
    Post。就是Request.Form
      

  5.   

    Get与Post的区别
    http://hi.baidu.com/liuzd003/blog/item/7bfecbfa6ea94ed8b58f318c.html
      

  6.   

    (1)提到Get Post就想起来Session Cookie,
    之前接触一个自动发帖回帖的程序,就是要提取数据包,因为Http协议不熟悉,没搞明白抓什么包.(2)关于页面架构部分:
    每个功能页面都引用加载一个含有自定义控件的模板页面(里面主要包括add,del,cancel按纽);
    功能页面的PageLode方法里面,把btn_add, btn_del, btn_cancel方法绑定在一起;
    有鼠标事件时执行button下的代码段;(3)GridView转成Table主要目的是:删除一条记录以后,动态更新GridView;
    转成Table再删除,然后重新跟GridView绑定;只是看到同事是这样处理的,我还没想到更好的方法...
      

  7.   

    我看了阵子petshop  就是那个缓存和消息队列搞得云里雾里 没耐心了
      

  8.   

    http://www.cnblogs.com/cuihongyu3503319/archive/2008/07/31/1257131.html