网站首页 > 网管员之家 > 当前主题    站内搜索    首页  上一页  下一页  尾页  页次1/1         新用户申请  老用户登录  返回首页
作者信息   主题: Visual Studio 2005 边学边用15826

白瑞德


发表主题: 2961
发表回复: 4617
网站暂行积分: 13500


【人类幸存者】



  发表时间: 2010-4-2 8:08:33             

特别提示:本帖子在 2010-5-24 15:53:18 由用户 白瑞德 编辑过

一,更改默认环境设置:VB.net和C#
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

1、菜单工具->导入和导出设置…,打开导入和导出设置向导,选择重置所有设置,然后下一步
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

4.3
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

1、有关第一个例子的两个问题:
浪漫烛光 www.langmanzg.com

首先,必须用HTML下的控件;
浪漫烛光 www.langmanzg.com

其次,只有使用这些类下的控件,才能在双击Button按钮时出现ServerClick事件,另外,如果在同一控件中还保留有(客户端的?)On_click事件,那么ServerClick的事件就不会执行。
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

2、如果没有增加runat="server"属性,可以分别选中每个控件然后分别右键设置。
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

3,length属性代表长度(数量),而IndexOf和LastIndexOf属性则代表位置,从0开始计算,因此和数量是 +1的关系。
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

4,为进行目录操作(File操作),需要引入名为System.IO的命名空间。
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

5,对于Web页面中的服务器控件的设置,必须将runat="server"设置好之后才能出现默认的ID。
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

4.6日笔记
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

1,有关Label控件(标准)和Textbox控件(标准)之间的联动问题。首先作5K3?X.-k/e(为标准控件,引入后默认的runat就设置为server了;另外,Textbox的TextChange事件,应该只有在设置其AutoPostBack为True时,才能在同一页面上引发。(测试时)
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

2,AutoPostBack属性在非提交(控制转移)空间中均需设置,比如Textbox和DropDownList。
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

3,ListBox的ListItem方法包含两个参数:字符串类型的新增项的文本和新增项的值(注意!所谓的“值”也需要通过ToString函数转换成字符串类型?)。
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

4月7日笔记
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

1,Panel空间内内部元素的“隐藏”,意味这它也并不占空间,“隐藏”从页面可视化的角度来看相当于这个Panel中的控件“消失”了。
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

2,判断页面是否是第一次装载,可用IsPostBack(属性?)来测试。
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

3,在Calendar控件中,双击“事件”按钮(闪电)后,在SelectionChanged事件右侧的空白区域,即可生成事件代码页面。
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

4,“验证”控件在验证系列标签中。
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

5,“验证”类控% L/)G?w-ixn 8lp件的很奇特的问题:
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

如果我们对某个按钮的click事件设置了和验证控件(Validator)有关的事件,那么在本页面里的其他按钮(即使没有加入此事件)仍然可以实现和上述控件相同的内容,不知作何解……
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

可能是“继承”和“重用”的关系
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

而如果同一页面由两个按钮所触发的有关Validator的两个不同的事件,那么某个按钮的某些功能(比如CompareValidator)可能失效……
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

CompareValidator控件的属性中,ControlToValidate代表设置要验证控件的ID,而ControlToCompare代表和前面控件相比较的控件ID;前者默认值为“空”,而后者则为“空字符串”,注意区别。所以后文说,如果不使用RequiredFieldValidator对确认密码文本框进行验证,那么它就会被验证所跳过。
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

7,在同一个页面中,对于各类Validator的有效性判断,如果有效性为“真”时,即IsValid判断后的语句并不执行,也就是说,多个Button按钮会存在混乱。
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

三,数据库篇
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

4月7日笔记
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

1, [0ai7MN在new ListItem()中,应该有两个项目,如上文所述,但是有一个可以省略?比如:
浪漫烛光 www.langmanzg.com

ListItem item=new ListItem(sdr["pub_name"].ToString());
浪漫烛光 www.langmanzg.com

ListItem item=new ListItem(info,(count+1).ToString());
浪漫烛光 www.langmanzg.com

也就是说,ToString前既可以是Items集合中的项目ID值,也可以是其编号?
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

2,select count(*) from publishers 这条SQL查询,返回的只是这个数据表中记录的条数,因此用DataTable的Rows属性,Rows[j][1]是错误的。
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

3,"当传递具有新行的 DataRow 集合时,更新要求有效的 InsertCommand。"出现这一错误提示表明SqlCommandBuilder类没有与DataSet相协调,也就是说,缺少这一句:SqlCommandBuilder scb=new SqlCommandBuilder(sda);切记!
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

“未将对象引用设置到对象的实例。”出现这个错误,真的有可能只是把引用的fB1B -+R[bN 1wKQ数据表的名字写错了……
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

4月8日笔记
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

1,如果诸如SqlConnection等数据对象没有在Visual Studio中自动出现提示时,应考虑是否是没有加载对应的命名空间,比如说System.Data.SqlClient等等。
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

2,CS0118: “System.Data.DataSet.Tables”是“属性”,但此处被当做“方法”来使用
浪漫烛光 www.langmanzg.com

出现这个错误提示,可能是忘了把数据库表(或行列)对象属性后面的加的应该是[]而不是(),要注意克服在VB下的习惯 DataSet.Tables这是个属性,后面的[]是实例值,而不是方法。
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

从这个角度考虑……
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

4月10日笔记
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

1,如何在代码窗口显示行号?
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

工具->选项->文本编辑器->所有语言->显示->显示行号->确认。
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

2,在例4.3.2中,AlternatingItemTemplate(被称之为“交替项”)的作用是作为“二选一可选行”的模板,主要充当设置间隔行的行显示属性(比如背景色)等所使用的。
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

3,在IUwDeF$g`使用DataList控件中,有时某些事件无法通过双击的方式自动在代码区生成,这样我们可以通过点击属性栏中的“事件”按钮(黄色闪电,很直观的)来进行打开,本例是ItemCommand事件,此事件在点击DataList中的任一按钮时触发。
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

4,切记!==是判断是否相等(多用于判断、循环语句中的条件设置),而=则是代表赋值.
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

5,如果没有连接上数据源,像DataList和Repeater等数据控件是不在页面显示的……如果要查看是否是数据源的问题,一般情况下都要上对应的C#文件中查找Page_Load事件。
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

4月13日笔记
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

好几天没有更新笔记了,惭愧,确实是遇到了一些比较麻烦的事情……
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

1,那个一直没有能够解决的DataList控件更新数据库数据的问题已经有解决了。也就是说,不管在cs文件中撰写了什么事件,那么,这个事件只要有用,是一定要被触发的。也就是说,要在 标签对应的事件下引入诸如OnEditCommand=DataList1_EditCommand等等,对应的事件才能被执行。
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

2,有关具体事件DataList1_ItemCommand, EditCommand, UpdateCommand事件,有些是可以在DataList控件的“事件”栏中双击出现的,有些则需要在代码窗口自行添加,不过只需要参照DataList1_ItemCommand事件,把事件名改下就可以了,参数用默认的,不用改。
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

3,有关按钮的“CommandName”和事件名前面的**Command 之间的关系问题,二者应该对应,也就是说CommandName="edit",对应的也就是EditCommand,对于Update亦然。
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

好像是这样的,如果二者不一致(比如说CommandName为"select"的在ItemCommand事件中,那么需要加入判断:if (e.CommandName=="select"); 也就是说,上面的例子中,如果不同名的话,加入判断条件即可,但是不要更改事件名(事件名是固定的?)
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

4,有关变量名是否区分大小写的问题lv6v0)aS@6S|!V:C#默认是大小写敏感的,但是如果使用的是引号调用数据库中的某个字段,则后者没有大小写的限制。比如:
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

“DataBinder.Eval(Container.DataItem,"city")”和
浪漫烛光 www.langmanzg.com

“DataBinder.Eval(Container.DataItem,"City")”都对。
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

5,所谓的“new”方法看似罗嗦,实际上就是把对象?实例化。
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

6,类型转换的问题:
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

C#是一种所谓的强类型语言,第一点是不能进行隐式转换,更进一步的是不同类型中的转换,要区分是“类型转换”还是“内容转换”。前者可以用诸如(int)放在要转换的变量前面,但是要注意这种转换存在限制,能够使用 (int) 进行强类型转换的只能是数值类型了,例如 long、short、double等,不过进行这种转换时你需要考虑精度问题。
浪漫烛光 www.langmanzg.com

像string a=(int)3;则是行不通地……
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

而要进行所谓的内容转换,必须使用Convert方法,比如说Convert.ToInt32 转换成整型,等等。
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

另外,如果将空字符串转换成整型似乎会出现错误提示“输入字符串的格式不正确。”在本例中是初始值设置的问题,切记!
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

7,所谓“绑定数据源”,就是要在控件里添加一些其他的控件,用于显示数据表中的记录,注意和ASP相区别。也就是说,要在模板中(最常用的是ItemTemplate),引入数据表中的值,主要是用这个语句DataBinder.Eval(Container.DataItem,"pub_name") ,要熟悉。
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

5月18日笔记
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

不知不觉间,已经过去了一个月了,前段时间做Access平台,一直没有看.net,前段时间又来任务了,突破一下;在公司现有OA系统的基础上进行改进。
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

1,有关在GridView中的AlternatingRowStyle的设置,可以先点击对应文件的“视图”页面上的小箭头,然后选择“自动套用格式”,从中选择一种,再进入源视图修改即可。这种数据列表样式交替行显示的功能,在.net中是很常见的。
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

2,今天增加模块遇到了一个奇怪的问题,就是我用GridView来连接数据源,如果采用“选择数据源”的模式,则可以正常连接,但是如果采用如下代码:
浪漫烛光 www.langmanzg.com

        SqlConnection conn = new SqlConnection("server=(local);Initial Catalog=RATOOA;UID=sa;PWD=;Integrated Security=True");
浪漫烛光 www.langmanzg.com

        SqlDataAdapter sda= new SqlDataAdapter("select * from Ms_MajCustomer order by C_MC_City,C_MC_County", conn);
浪漫烛光 www.langmanzg.com

        DataSet ds = new DataSet();
浪漫烛光 www.langmanzg.com

        sda.Fill(ds,"Ms_MajCustomer");
浪漫烛光 www.langmanzg.com

        DataTable dt = ds.Tables["Ms_MajCustomer"];
浪漫烛光 www.langmanzg.com

        GridView1.DataKeyNames = new string[] { "C_MC_ID" };
浪漫烛光 www.langmanzg.com

        GridView1.DataSource = dt;
浪漫烛光 www.langmanzg.com

        GridView1.DataBind();
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

    在页面载入时绑定数据源会很慢,然后最后跳/i\%*y+9L3到登录界面,很奇怪。我感觉基本上就是和系统自定义的类有关。这个需要好好研究下,最终解决。
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

【5月20日】
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

    1,今天用了第二种方法又可以了,不得而知。另外,如果采用选择数据源的模式(即定义DataSourceId)的方式,那么会导致在Add.aspx页面新增记录后List.aspx页面无法实时更新的问题,难道这就是所谓的“静态绑定”?
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

    2,在JavaScript中打开窗体应该采用Window.open方法,原代码中的OpenWindow方法可能为自定义方法。
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

    3,在页面中某些类型控件可以直接引用的CSS样式,显然是按照类型定义的,比如说诸如
浪漫烛光 www.langmanzg.com

    INPUT.BS_Button
浪漫烛光 www.langmanzg.com

       {
浪漫烛光 www.langmanzg.com

border-rig



  每当你几乎快被困难击倒,丧失斗志的时候,你就想想背后还有无数等你倒下捅刀子的SB,就充满了力量。
作者信息   主题: Visual Studio 2005 边学边用18481

白瑞德


发表主题: 2961
发表回复: 4617
网站暂行积分: 13500


【人类幸存者】



  发表时间: 2010-6-18 15:39:28             

特别提示:本帖子在 2010-6-18 16:06:47 由用户 白瑞德 编辑过

【6月18日】
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

有关OA平台的几点问题:
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

首先,貌似使用了自定义的名字空间后,至少在同一页面内是无法再用系统默认的名字空间及控件了,这点值得探讨和商酌。关键问题似乎不在于控件,而是在于提交按钮也是自定义类中的控件,因此如果是系统默认控件,似乎会有问题。
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

其次,在Transact SQL中,注意字符型变量要用单引号 ' ,而不能用双引号,如果要表示一个空字符串则要用四个单引号''''。
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

要熟悉C#的定义结构,它是以事件为导向而非以也面为导向的,因此,在Page_Load事件中,载入页面的同时就要对从URL中返回到变量值进行赋值,比如说:
浪漫烛光 www.langmanzg.com

        string _KeyValue = this.Request.QueryString["KeyValue"];
浪漫烛光 www.langmanzg.com

        string _RecNum = this.Request.QueryString["RecNum"];
浪漫烛光 www.langmanzg.com

        string _ProvinceName = this.Request.QueryString["DDL_Province"];
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

        this.KeyValue.Text = _KeyValue;
浪漫烛光 www.langmanzg.com

        this.RecNum.Text = _RecNum;
浪漫烛光 www.langmanzg.com

        this.DDL_Province.Text = _ProvinceName;
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

3,最重要的一点,在Script文件夹下的各模块主要脚本,比如说我新建的MS_MajCustomer子文件夹下,有时候会出现新增记录后记录列表没有实时更新的问题,这个问题主要是在页面载入事件中,绑定数据源之前加入了
浪漫烛光 www.langmanzg.com


浪漫烛光 www.langmanzg.com

if (!IsPostBack)
浪漫烛光 www.langmanzg.com

   {
浪漫烛光 www.langmanzg.com

    Bind(); //自定义函数
浪漫烛光 www.langmanzg.com

    }
浪漫烛光 www.langmanzg.com

的判断,按理说不应该是这里的问题,但却偏偏发生了,不能不让人感到奇怪。



  每当你几乎快被困难击倒,丧失斗志的时候,你就想想背后还有无数等你倒下捅刀子的SB,就充满了力量。
新用户注册   返回首页
首页  上一页  下一页  尾页  页次1/1   转到第