您的位置:首页 > Web前端 > JavaScript

关于js弹窗与FileUpload相结合的弹窗

2016-04-11 10:28 585 查看
我们在网上可以看到很多用其他控件组合实现FileUpload功能的方法,今天我们来做一个实现,首先,我来将一下这次的博文需求:

1、使用button实现FileUpload的选择显示功能(为什么使用button呢,因为我发现FileUpload的样式不能与之前button的样式一致,导致页面很丑,所以使用组合控件实现)

2、系统对FileUpload上传的内容进行验证,如果重复上传,显示不同控件进行显示(为什么使用不同控件?因为我发现在一个控件不能实现我要实现的功能,我需要让一个按钮上有弹框,并且可以提示并且控制后续操作功能。)

3、在弹框的按钮上,如果点击确定,继续程序后台继续操作;点击取消,不再继续执行后台代码。

下面,我们用具体代码来实现一下:

前台aspx页面:

按钮布局:

<asp:FileUpload ID="FileUpload1" runat="server" onchange="firm()" Style="visibility: hidden" Width="5px" />
<asp:HiddenField ID="HiddenField1" runat="server" />
<input type="button" id="btnleadingin" runat="server" value="导入文件选择" class="button" onclick="Namepaqi()" />
<asp:Button ID="btnok" runat="server" Visible="true" Text="开始导入" class="button" OnClick="btnleadingin_Click" />
<asp:Button ID="btnok2" runat="server" Visible="false" Text="开始导入" class="button" OnClick="btnleadingin2_Click" OnClientClick="javascript:return confirm('您确定要进行导入吗?')"  />
<asp:Button ID="hid" runat="server" Visible="false" Text="" OnClick="hid_Click" Style="visibility: hidden" Width="5px" />
js函数:

function firm() {
//利用对话框返回的值 (true 或者 false)
document.getElementById("btnleadingin").value = document.getElementById("<%=FileUpload1.ClientID%>").value;
document.getElementById("hid").click();
}
function SetValue() {
document.getElementById("btnleadingin").value = document.getElementById("<%=HiddenField1.ClientID%>").value;
}
function Namepaqi() {
var paqi = document.getElementById('<%=FileUpload1.ClientID%>');
paqi.click();
}
后台事件代码:

//隐藏按钮,判断文件是否上传过
protected void hid_Click(object sender, EventArgs e)
{
if (<span style="font-family: Arial, Helvetica, sans-serif;">getfilename(</span><span style="font-family: Arial, Helvetica, sans-serif;">filename,</span><span style="font-family: Arial, Helvetica, sans-serif;">orgname</span><span style="font-family: Arial, Helvetica, sans-serif;">)</span><span style="font-family: Arial, Helvetica, sans-serif;">)</span><span style="font-family: Arial, Helvetica, sans-serif;">
</span>       {
btnok.Visible = false;
btnok2.Visible = true;
}
else
{
btnok.Visible = true;
btnok2.Visible = false;
}
}
}
判断上传文件的文件夹中是否已经存在本次上传的记录

//获取指定目录文件的文件名
public bool getfilename(string filename, string orgname)
{
DirectoryInfo dinfo = new DirectoryInfo(filename);
string[] temp;
FileInfo[] finfo = dinfo.GetFiles();
temp = new string[finfo.Length];

for (int i = 0; i < finfo.Length; i++)
{
if (判断)
{
temp[i] = finfo[i].Name;
}

}
temp = temp.Where(s => !string.IsNullOrEmpty(s)).ToArray();
if (temp.Length > 1)
return true;
else
return false;
}
另外在写两个导入按钮的事件整个功能就实现了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: