导入数据时,Button的Enable属性置为false不起作用

Nihn 2009-05-15 07:32:54
大家好!

我有一个页面需要导入数据,由于导入数据时间较长,我要把“导入”按钮的Enable属性置为False,但是不起作用。

以下是简单的代码:
//////////////////////////
btnImport.Enabled = false;

数据导入语句......

//////////////////////////

我查过一些资料,说是主线程被导入数据占用,btnImport.Enabled = false;这句话就不起作用了。

请问有什么办法吗?

谢谢!
...全文
332 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
微工程 2009-05-16
  • 打赏
  • 举报
回复
不好意思,又写错了个地方,重新再次修改一下:



在HTML 加上这段代码

<script>
function msg()
{
document.all('btnImport').style.visibility = 'hidden'; //暂时不显示没大碍,最少用户不能点击了,在那里里可以放个“请稍等”一类”的提升,用户会接受的。
}
</script>


在c#加上这段代码

protected void Page_Load(object sender, EventArgs e)
{
this.btnImport.Attributes["onclick"] = "return(msg())";

}


protected void btnImport_Click(object sender, EventArgs e)
{
//你的数据提交代码;
}


希望对你有所帮助!顺利解决。
qqshenyunzcz 2009-05-16
  • 打赏
  • 举报
回复
通过后台注册脚本 可行吗?
微工程 2009-05-15
  • 打赏
  • 举报
回复

按照你贴出的代码,重新修改一下:


在HTML 加上这段代码

<script>
function msg()
{
document.all('btnImport').Enabled = false;
}
</script>


在c#加上这段代码

protected void Page_Load(object sender, EventArgs e)
{
this.btnImport.Attributes["onclick"] = "return(msg())";

}


protected void btnImport_Click(object sender, EventArgs e)
{
//你的数据提交代码;
}


希望对你有所帮助!顺利解决。
微工程 2009-05-15
  • 打赏
  • 举报
回复
在HTML 加上这段代码

<script>
function msg()
{
document.all('Button1').Enable = false;
}
</script>


在c#加上这段代码

protected void Page_Load(object sender, EventArgs e)
{
this.Button1.Attributes["onclick"] = "return(msg())";

}


protected void Button1_Click(object sender, EventArgs e)
{
//你的数据提交代码;
}


希望对你有所帮助!顺利解决。
redhat2 2009-05-15
  • 打赏
  • 举报
回复
Web应用程序不是交互式的

.



人力资源
readings 2009-05-15
  • 打赏
  • 举报
回复
假如你的那个按钮ID="btTest",那么可以在Page_Load中可以这样写:


btTest.Attributes.Add("onclick", "document.getElementById('" + btTest.ClientID + "').disabled='false';");
小D 2009-05-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 amandag 的回复:]
一般是用客户端javascript解决的,其实理由很简单Web应用程序不是交互式的,虽然你的代码有btnImport.Enabled = false;而由于下面的代码时间很长,这个响应根本没到客户端,自然不能禁用按钮
[/Quote]

支持!!!
wuyq11 2009-05-15
  • 打赏
  • 举报
回复
用多线程实现,执行其他线程实现数据导入,同时显示进度条
云水千寻 2009-05-15
  • 打赏
  • 举报
回复
调整一下事件执行的顺序呢
amandag 2009-05-15
  • 打赏
  • 举报
回复
http://www.cnblogs.com/Jinglecat/archive/2007/07/11/813372.html

让 ASP.NET 2.0 的 Sumbit Button 支持 禁用(灰化)提交
amandag 2009-05-15
  • 打赏
  • 举报
回复
http://www.cnblogs.com/Jinglecat/archive/2007/07/10/811946.html#821900

禁用(灰化) Button 后提交的问题
Nihn 2009-05-15
  • 打赏
  • 举报
回复
1楼的代码我试过,用了之后,就发现按钮Enable=false了,无法执行后台的导入程序了。
amandag 2009-05-15
  • 打赏
  • 举报
回复
一般是用客户端javascript解决的,其实理由很简单Web应用程序不是交互式的,虽然你的代码有btnImport.Enabled = false;而由于下面的代码时间很长,这个响应根本没到客户端,自然不能禁用按钮
wServices 2009-05-15
  • 打赏
  • 举报
回复
<asp:Button ID="btnImport" runat="server" Text="Button"
OnClientClick="Import()" />
<script type="text/javascript">
function Import() {
var btn = document.getElementById("btnImport");
btn.disabled = true;

}
</script>

这样!?

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧