- 来源:本站 | 归类:Net
-
在网络上看到很多关于ASP.NET导出DOC文档的例子,有的干脆就直接将html页面不做任何处理直接导出为DOC文件,但是那样会有很多错误,例如将
某些控件显示为图片。我还曾经见过微软为中国某个大公司制作的一个XX系统,导出的DOC文件实际上是某种特殊格式的XML,但是对于这个技术我还
不是很了解。于是我在网络上收集资料,找到很多种实现方法,一一实验,最后总结出以下经验......
- 关键字:ASP.NET,WORD
- 操作:查看 收藏
- 来源:本站 | 归类:Net
-
当我们使用Response.Write()输出类似js代码或者html代码时,提交后页面就会出现类似字体改变,表格变形等页面走型问题.
这是因为页面处理了Response.Write()语句后没能正确解释DOCTYPE声明而造成的.
要解决这个问题可以不用Response.Write()语句,改用Page.RegisterStartupScript()
例如:
Response.Write("<script>alert('修改成功!');</script>");
替换成
Page.RegisterStartupScript("成功", "<script>alert('修改成功!');</script>");
- 关键字:页面走型,提交,Response.Write()
- 操作:查看 收藏
- 来源:本站 | 归类:Net
-
Literal lt = new Literal();
lt.Text = "<a href="http://www.czbin.cn">czbin的博客</a>"; //定义lt中的文本,注意双引号要用""转义
form1.Controls.Add(lt); //将lt中的html代码加入form1标签中(必须是runat="server"的)
- 关键字:HTML,ASP.NET,后台代码
- 操作:查看 收藏
- 来源:本站 | 归类:Net
-
TextBox1.Attributes.Add("onfocusout", "fs();");//给TextBox1控件加上onfocusout事件,响应代码为js函数fs();
把这段代码加到Page_Load函数中,当TextBox1失去焦点时就会执行JavaScript中的函数fs()
- 关键字:服务端控件,焦点
- 操作:查看 收藏
- 来源:本站 | 归类:Net
-
当我们在SQL中创建一个DateTime时间类型的字段时,很多时候这个字段我们只输入日期,而SQL会自动给这个字段里的数据加上小时、分钟和秒。
而当我们用程序读这个DateTime类型字段里面的值的时候得到的就是一个完整的时间格式,这当然不是我们所需要的。以“出生日期”为例,当我们的ASP.NET程序显示这个“出生日期”的时候,我们只希望显示出类似YY-MM-DD的字符串,而假如不在SQL语句中对该字段做相应处理的话将显示出YY-MM-DD HH:MM:SS格式的字符串。而如果在SQL语句中进行处理的话就不能使用"select *"格式直接将所有字段检索出来了,数据表字段比较多的时候可能有点麻烦,所以这个时候我们希望在C#中进行处理。好了,请看示例代码:
数据表P_Info中有一个“出生日期”字段,为DateTime时间型。
在C#中将这个DateTime时间型数据读出并赋值给BirthDay这个变量,以便以后使用。
C#代码:
...//省略数据库连接与SqlDataReader部分,
string BirthDay;
DateTime dt;//定义一个时间类型变量,用以转换得到的时间字符串
if(reader.read())//reader为读取数据用的SqlDataReader
{
dt = Convert.ToDateTime( reader["出生日期"].ToString().Trim());
//将数据库读出来的“出生日期”字符串转换成时间类型赋给dt
BirthDay= dt.Year.ToString().Trim() + "-" + dt.Month.ToString().Trim() + "-" + dt.Day.ToString().Trim();
//将时间类型变量dt中的年月日以"-"连接成标准日期类型字符串,并赋给BirthDay
}
怎么样,就这么简单!
- 关键字:C#,日期,DateTime,SQL
- 操作:查看 收藏
- 来源:本站 | 归类:Net
-
其实网络上已经有很多ASP.NET下TreeView控件动态生成树型目录的C#代码了,但是很少有人给出VB.NET的代码,貌似做ASP.NET的主流语言就是C#,但是为了方便一些使用VB语言的朋友我专门写了这篇文章,当然C#实现起来基本是差不多的,看懂了这个,改一下语法也就变成了C#。
从ASP.NET2.0开始,FrameWork就集成了TreeView控件,我们只需要在工具箱的某个选项卡上点右键,点弹出的"选择项"菜单,在新对话框里选择System.Web.UI.WebControls命名空间下的TreeView。点确定。这样在工具箱里我们就会找到TreeView控件。
将这个控件添加到页面里,可以编辑它的节点,将新的节点添加到TreeView中,并且还可以设置节点的结构,这样生成的TreeView将是一个静态的树型目录,但是往往我们是需要从数据库中读取数据动态生成树型目录的,请看以下的数据表(为方便一些英语不好的朋友,主要关键字都使用中文,请自行更改):
表名:链接表。
字段:序号|父结点|结点|URL
(序号是该结点的序号,父结点是该结点的父结点的序号,结点为显示出来的TEXT,URL为该结点指向的URL)
代码:.......
- 关键字:C#,ASP.NET,树型目录,TREEVIEW
- 操作:查看 收藏
- 来源:本站 | 归类:Net
-
先请大家看以下代码(如果您的COOKIE出现了乱码肯定是这样写的):
以VB.NET为例:
写COOKIE:
Dim acookie As New HttpCookie(user)'定义一个COOKIE,COOKIE名是当前登陆的用户名
acookie.Values.Add("user",user) '给这个COOKIE加一个属性"user",内容为当前的用户名
acookie.Values.Add("pass", pass)
Response.AppendCookie(acookie)
读COOKIE:
Dim acookie As HttpCookie = Request.Cookies(user) 'User_Txt是输入用户名的文本框
Session("user") =acookie.Values("user").ToString.Trim
Session("pass") =acookie.Values("pass").Trim.Trim
其实这样就忽略编码的问题,正确的写法应该是这样的:
写COOKIE:
Dim acookie As New HttpCookie(user)
acookie.Values.Add("user", HttpUtility.UrlEncode(user)) '写COOKIE时进行编码
acookie.Values.Add("pass", HttpUtility.UrlEncode(pass)))
Response.AppendCookie(acookie)
读COOKIE:
Dim acookie As HttpCookie = Request.Cookies(user)
Session("user") = HttpUtility.UrlDecode(acookie.Values("user").ToString.Trim)
Session("pass") = HttpUtility.UrlDecode(acookie.Values("pass").Trim.Trim) '读COOKIE时进行解码
这样再读出来的COOKIE值就不会再是乱码了。
题外话:
这段代码是用VB.NET写的,其实我也喜欢用C#,但是之所以还是采用了VB语法,主要是因为懂C#的话我想看VB.NET肯定不会吃力。所以鉴于篇幅原因我就只写了VB代码,至于C#么,COPY回去,自己加个分号,大小写和语法改下就可以执行了。说实话现在的C#和VB.NET的语法真的是没有太大差别了,感觉上好象VB.NET里可以运行的代码,拿到C#里加个分号,改下大小写,再把VB.NET里的"()"改成"[]"(当然函数除外)。然后再把for啊if啊什么一改,基本就可以了,当然C#里类new的时候别忘记加上括号。不知道是不是现在的高级语言的语法都趋于统一了呢?难道这就是编程语言傻瓜化?难道真的哪天我们对着电脑说:“帮我做个网站”,电脑就自己把代码写好了???????
- 关键字:ASP.NET,Cookie,乱码
- 操作:查看 收藏
- 来源:本站 | 归类:Net
-
Session作为一种客户端的全局变量其实是弱类型的,大家往往只用它来传递一些字符串的值,事实上Session不仅可以传递字符串,它可以传递任何类型的变量,甚至是对象。如果问这有什么用,那么最简单的用途就是可以简化数据的传递,将用几个Session才能完成的数据传递用一个Session来完成,好了,废话不多说,大家看我的代码吧。。。
首先我有两个页面,第一个页面中有一些输入框,第二个页面上也有一些输入框,当点击第一个页面的“下一页”按扭时进入第二页,当点击第二页的“提交按扭”时将第一页与第二页的数据一起插入到数据库,这个功能基本上就属于“输入向导”吧。
第一页的“下一页”按扭中的处理代码:
string Sqlstr = "INSERT INTO P_Info(name,Sex) " +
"VALUES(@SQL1,@SQL2)";
SqlCommand Mycmd = new SqlCommand(Sqlstr, Conn);
Mycmd.Parameters.AddWithValue("@SQL1", Name);
Mycmd.Parameters.AddWithValue("@SQL2", Sex);
Session["P_info"] = Mycmd; //用session保存Mycmd
Mycmd.Dispose();
第二页从Session中取出Mycmd的代码:
SqlCommand Mycmd = new SqlCommand();
//定义一个SqlCommand用来接受session里传过来的SqlCommand
Mycmd = (SqlCommand)Session["P_info"]; //注意要对session进行强制类型转换
Mycmd.Connection = Conn;
Mycmd.ExecuteNonQuery(); //执行这个SqlCommand,实际上就等于执行了第一页的Mycmd
Mycmd.Dispose();
我的两端代码是用session传递一个SqlCommand的实例,从中可以看出Session其实是非常强大的,因为它实际上是一段内存空间,在这个内存空间中我们可以保存任何类型的数据,包括数组、结构体,甚至是一个类的实例。
- 关键字:C#,Session,传递对象的实例
- 操作:查看 收藏
- 来源:本站 | 归类:Net
-
首先动态添加一个按钮控件
Button btn_Ok = new Button();
btn_Ok.ID = "btn_Ok"; //设置控件ID
btn_Ok.Text = "确定"; //设置控件上显示的文本
btn_Ok.Click += new System.EventHandler(btn_Ok_Click);//将你的按钮的Click事件绑定到btn_Ok_Click函数
然后构造一个btn_Ok_Click函数,注意函数的格式一定要符合按钮的Click事件响应函数的格式,可以参照其他的按钮的事件响应函数
protected void btn_Ok_Click(object sender, EventArgs e)
{
HttpContext.Current.Response.Redirect("P_info_job.aspx");
}
这样当点击btn_OK按钮的时候就会执行btn_Ok_Click中的语句了。
- 关键字:动态添加控件,按钮,Click事件
- 操作:查看 收藏
- 来源:本站 | 归类:Net
-
刚才发了一个C#的,再发一个VB.NET的,方便大家直接拷贝使用^_^
细节刚才已经介绍过了,我直接贴代码了...
- 关键字:DataGrid,绑定,分页,编辑
- 操作:查看 收藏