javascript与asp.net实现文件上传
方法一:使用FileUpLoad 控件多个直接上传。这样做的问题就是要求页面提交,从而导致一些不应该刷新的内容在此操作过程中消失掉。但是用ScriptManger 来弄 却又不能上传了 原因很简单 FileUpLoad 控件要求post。由于这个问题 所以多数人都很少采用这种方法,不得不另寻它法。下面的方法二解决此问题。
方法二:使用Html标签<input type="file"/> + form 的submit来实现。我们一边实现文件上传都会对文件有些说明,文件放在服务器硬盘上,但信息确是放在数据库中,所以这种方法 就会导致这两部分信息的存储问题。不过这种方法总是比方法一可取,我们可在讲多文件的信息一一提交 一一保存。对于在最后提交文件其他信息的时候才提交文件 这样减少了对文件控制(如果先提交文件,但最后用户并没有选择提交文件的其他的信息,这是由需要上传上传的文件,这样就带了很多其他的问题,而且操作也不符合用户操作)。所以都想先将要上传的文件选择好到最后的时候一起的提交,如果最终用户没有提交,那也不用再进行文件从服务器上删除的那一步操作了,这样减少了很多操作和其他问题,也是我正想要的效果。
方法三:就是使用js +Ajax 来实现,测试过好像不行,因为我们上传文件的时候需要设置enctype="multipart/form-data",这样测试过导致文件的其他信息咋服务器端获取不到,测试过一次也不知道是自己弄错没。
方法四:在方法二的延伸,如果自己的上传是单独分开的。可以使用flex的上传,外观比较好。
同时与方法二可以调用同一后台上传文件处理程序。
方法二的例子如下:
使用了prototype.js架构
js 部分
var Bind = function(object, fun) {
return function() {
return fun.apply(object, arguments);
}
}
var Each = function(list, fun){
for (var i = 0, len = list.length; i < len; i++) { fun(list[i], i); }
};
var Extend = function(destination, source) {
for (var property in source) {
destination[property] = source[property];
}
}
var FileUpload=Class.create();
FileUpload.prototype={
initialize:function(folder,hiddenId,options){
this.Folder=document.getElementById(folder)? document.getElementById(folder):document.body;
th
相关文档:
html知识,Request.Form
接收的是Name值,而非ID值
若是用aspx页面取值,表单中的runat="server"要去掉。
asp.net知识,asp.net的控件的ID和Name值是一样第,但是其在客户端表现是control.clientID而非
control.ID
asp.net本身也是可以跨页提交滴,如果是使用自己带的跨页提交就不存在上述问题,不过as ......
用JavaScript修改网页样式
一、局部改变样式
分为改变直接样式,改变className和改变cssText三种。需要注意的是:
注意大小写
:
javascript对大小写十分敏感,className不能够把“N”写成“n”,cssText也不能够把“T”写成“t”,否则无法实现效果。
调用方法
:
如果改 ......
public DataSet ExcelToDS(string Path)
{
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + Path + ";" + "Extended Properties=Excel 8.0;";
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
string strExcel = "";
Ole ......
//一:用自己的服务器作为邮件服务器时:
//如出现:邮箱不可用。 服务器响应为: 5.7.1 Unable to relay for ***@gmail.com
//解决办法如下:在IIS中,右击“默认SMTP虚拟服务器”,选择“属性”,切换到“访问”页,点击“中继”按钮,在弹出框中选择“仅以下列表除外&rdq ......