学习笔记001

学习笔记001,第1张

概述1、后台想实现这么一个效果:触发一个事件后在事件的最后使用javscript的return   confirm( ' ')产生提示框,按确定的执行另一个事件,取消的结束事件. 在前台定义一个<input type="hidden" id="hidbtn" value="0" runat="server" />按钮,然后在写入一个javascript事件,这个事件是在页面加载后时候d出来的    

1、后台想实现这么一个效果:触发一个事件后在事件的最后使用javscript的return   confirm( ' ')产生提示框,按确定的执行另一个事件,取消的结束事件.

在前台定义一个<input type="hIDden" ID="hIDbtn" value="0" runat="server" />按钮,然后在写入一个JavaScript事件,这个事件是在页面加载后时候d出来的

    <script type="text/JavaScript">
        window.onload = function () {
            var hIDbtn = document.getElementByID("hIDbtn");
            if (confirm("确认删除该条数据吗?")) {
                hIDbtn.value = "1";
            }
        }
    </script>

然后在后台查看input按钮的value属性,进行判断……

2、工厂模式的构建

        static string _DataBase = ConfigurationSettings.AppSettings["DB"];

        public static IAttachment GetAttachment()
        {
            object o = Activator.CreateInstance(Type.GetType("WebServices1_5." + _DataBase + ".Attachment"));//改变数据库的类型
            if (o == null)
            {
                throw new Exception("加载 *** 作数据类失败");
            }
            IAttachment attachment = (IAttachment)o;     //返回一个类方法

            return attachment;
        }

3、div隐藏以后想要把他所占用的空间也回收回来就用:display:none

后台显示的时候是: this.div2.Style["display"] = "block";

4、阅读器关闭时尝试调用 FIEldCount 无效异常 (sqlDataReader)

 

阅读器关闭时尝试调用+FIEldCount+无效

RepeaterContactList.DataSource = GetList(cusID);
RepeaterContactList.DataBind();

在DataBind()的时候抛出"阅读器关闭时尝试调用 FIEldCount 无效"的异常;

看了下代码

public DbDataReader GetList(int? cusID)

{

  using (DbDataReader dr = dbHelper.ExecuteReader(CommandType.Text,sql,parameters))

{

if (dr.HasRows)

{

return dr;

}

return null;

}

}

原因是使用了Using语句,在return之后,Using就把DbDataReader给关闭了,而DbDataReader 是需要保持连接使用的,所以这样引用会抛出异常.

解决方法很简单,可以用Datatable将DbDataReader dr给Load()到内存使用,也可以将DbDataReader dr给Load()到实体类中使用.

修改上面的方法,改用Datatable之后正常了:

public Datatable GetList(int? cusID)

{

Datatable dt = new Datatable();

using (DbDataReader dr = dbHelper.ExecuteReader(CommandType.Text,parameters))

{

if (dr.HasRows)

{

dt.Load(dr);

return dt;

}

return null;

  }

}

5、如何获取sqlDataReader内的数据(切记sqlDataReader只可以被加载到内存一次,所以必须要有接手的容器!!!)

类方法:sqlDataBase.RunProc("UserCheck",out reader);

全局变量:Datatable mydt = new Datatable();

局部变量:Datatable dt = new Datatable();
                dt.Load(reader);
                mydt = dt;             //////此处需要注意,非常!!!!
                GrIDVIEw1.DataSource = mydt;
                GrIDVIEw1.DataBind();

最后的mydt仍然可以被重复利用,而sqlDataReader内的数据为空,即reader=null

6、WP7里边的checkBox复选功能,可以设置为三种选择方式,但是对于被 *** 作完成后的参数接受是一个问题!

这时要使用bool?类型来接收,有三种参数即:true、false和null三种值,而null被.ToString()以后会变成""值,所以需要记住转化后用string类型接收结果为空!!

7、用silverlight自带的类使TextBlock换行

1 txbVIEw.Inlines.Add(newlineBreak());
2 txbVIEw.Inlines.Add(newRun() { Text ="I'm"});
3 txbVIEw.Inlines.Add(newlineBreak());
4 txbVIEw.Inlines.Add(newRun() { Text="Jerry"});

效果

即在设计页面的时候可以使用<lineBreak />来设置换行,就像Asp上的“<br />”是效果一样的;

同时,如果我们想单个设置某些字段的大小、颜色、字体,我们可以设置<Run></Run>这个属性值即可

 8、用silverlight自带的类使TextBox换行

这两个属性这样设了,textwrapPing="Wrap" AcceptsReturn="true".即可

9、WP7里边的Timer空间的用法()

dispatcherTimer Timer = new dispatcherTimer();

   Timer.Interval = TimeSpan.FromMilliseconds(Speed);

   Timer.Tick += new EventHandler(Timer_Tick);

Timer.Start();

Timer.End();

 voID Timer_Tick(object sender,EventAgrs e)

{   ……     }

总结

以上是内存溢出为你收集整理的学习笔记001全部内容,希望文章能够帮你解决学习笔记001所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1072772.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存