为什么我的图片按钮要连续单击两次才起作用?

dl_wang 2005-06-22 11:59:09
为什么我的图片按钮要连续单击两次才起作用?
...全文
238 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
syeerzy 2005-06-22
  • 打赏
  • 举报
回复
头痛了经常是肚子着凉而不是头着凉.



按楼上说的做就对了.问题在Page_load里.
hchxxzx 2005-06-22
  • 打赏
  • 举报
回复
你的page_load里面的执行事件,没有放在
if(!this.IsPostBack)
{
//事件没有放在这里面执行,所以要点两次.
}
WeekZero 2005-06-22
  • 打赏
  • 举报
回复
是不是点击了第一次后响应比较慢
dl_wang 2005-06-22
  • 打赏
  • 举报
回复
已经找到原因了!感谢各位的帮忙!谢谢!
问题的原因在:我调用了一个组件这个长传组件必须给它付于asp.net权限才能长传东西!我忘了!
所以出现了下面的情况:把想录入的内容填完后点击按钮,因为不支持上传,所以上传的东西丢失。
接着再点击一下按钮,因为上传的东西丢失,所以用不到上传组件,所以显示成功!
解决办法:给项目加:asp.net权限!

谢谢各位了!
renyu732 2005-06-22
  • 打赏
  • 举报
回复
up
hchxxzx 2005-06-22
  • 打赏
  • 举报
回复
不会是你事件里面的那个判断SESSION的语句有问题吧.你把那个判断去掉看看.
如果还不行,你可在你的事件里面,做一个断点,然后,按F5,单步运行看看.看看是到什么地方被跳走了.
另外,你还要检查一下,你页面中是否把视图状态关闭(保存页面状态)了,如果是,恢复一下.
hackate 2005-06-22
  • 打赏
  • 举报
回复
你试着在image的click事件中只写一行代码,比如说是
response.write("<script>alert('你好啊');</script>");
这样看看,如果是还要点两下的话,那么,你试着重新建立个页面,把这个页面的代码(注:这里不是复制全部,只要复制page_load和image_click里的执行代码过去,然后在新的页面上。拉个image控件,试试,看看可否解决,。。。
dl_wang 2005-06-22
  • 打赏
  • 举报
回复
复人: hackate(兰花开香入梦境,独思佳人亦飘然!!) ( ) 信誉:100 2005-06-22 13:58:00 得分: 0


那你把image控件里的代码复制一下,然后把image控件和他的事件代码都删除掉
然后再拉一个这样的控件到设计器上。然后双激下这个image控件,把代码复制到他的click事件中

这样试试,有可能是事件出了故障 _________照着做了,还是不行!


hackate 2005-06-22
  • 打赏
  • 举报
回复
那你把image控件里的代码复制一下,然后把image控件和他的事件代码都删除掉
然后再拉一个这样的控件到设计器上。然后双激下这个image控件,把代码复制到他的click事件中

这样试试,有可能是事件出了故障
dl_wang 2005-06-22
  • 打赏
  • 举报
回复
代码基本上跟别的项目中的代码一样。在其他项目中是能正常运行的
dl_wang 2005-06-22
  • 打赏
  • 举报
回复
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace nwt.manager
{
/// <summary>
/// add_kjcy 的摘要说明。
/// </summary>
public class add_software : System.Web.UI.Page
{
protected System.Web.UI.WebControls.ImageButton ImageButton1;
protected System.Web.UI.WebControls.DropDownList DropDownList1;
protected System.Web.UI.WebControls.RequiredFieldValidator Requiredfieldvalidator3;
protected FreeTextBoxControls.FreeTextBox FreeTextBox2;
protected System.Web.UI.WebControls.TextBox TextBox1;
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;
protected System.Web.UI.WebControls.RequiredFieldValidator Requiredfieldvalidator2;
protected System.Web.UI.WebControls.DropDownList DropDownList2;
protected System.Web.UI.HtmlControls.HtmlInputText TextBox2;
protected System.Web.UI.HtmlControls.HtmlInputFile file2;
private void Page_Load(object sender, System.EventArgs e)
{

// 在此处放置用户代码以初始化页面
if(!this.IsPostBack)
{
if(Session["useid"] == null || Session["useid"].ToString().Equals(""))
Response.Redirect("login.aspx");
}
}

#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.ImageButton1.Click += new System.Web.UI.ImageClickEventHandler(this.ImageButton1_Click);
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion

private void ImageButton1_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
if( Session["useid"] == null)
return;

string str=FreeTextBox2.Text;

string sep = "<";
char [] delimiter = sep.ToCharArray();

string[] paths = str.Split(delimiter);
string newStr = "";

for (int i=0;i<paths.Length;i++)
{
string dd = paths[i];
if(dd!="")
{
int count=dd.IndexOf(">");
if(count<0)
{

}
else
{
dd = "<"+dd;
}
}
if (dd.IndexOf("http")>=0)
{
int weizhi=dd.IndexOf("http");
int weizhi1=dd.IndexOf("upload/");
if(weizhi!=-1 && weizhi1!=-1)
{
string substr=dd.Substring(weizhi,weizhi1-weizhi);
dd=dd.Replace(substr,"../");
dd=dd.Replace("manager/..","");
}
}
newStr = newStr+dd;
}
str = newStr;


nwt.common.Share sh = new nwt.common.Share(this.Application["connStr"].ToString());

string strPath="";
if(!this.file2.PostedFile.FileName.Trim().Equals(""))
{
string strRelativePath1="download/upload";
string result1=sh.uploadPicture(this.Request,this.file2,ref strRelativePath1);
if(!result1.Equals("成功"))
{
Response.Write("<script>alert(result1);</script>");
return;
}
strPath=strRelativePath1;
}
string sql = "insert into n_software (n_name,content,webpath,manager,sdate) values ('"+this.TextBox1.Text.ToString()+"','" + str.Trim() + "','"+strPath+"','"+Session["useid"].ToString()+"','"+this.TextBox2.Value.ToString()+"')";
//this.Response.Write(sql);
try
{
int i=sh.execSql(sql);
if(i==-1)
{
Response.Write("<script>alert('失败!');self.close();</script>");
}
else
{
Response.Write("<script language='javascript'>alert('成功!');</script>");
}
}
catch{}
}
}
}
dl_wang 2005-06-22
  • 打赏
  • 举报
回复
都没什么其他的事件!怎么回事呢?
hchxxzx 2005-06-22
  • 打赏
  • 举报
回复
你这个图片是怎么生成的,是放在前台并且做事件?还是后台生成?是按钮还是普通图片?
你把你的代码贴出来看看.
dl_wang 2005-06-22
  • 打赏
  • 举报
回复
谢谢,各位大虾!
我的Page_Load如下:没什么时间呀
private void Page_Load(object sender, System.EventArgs e)
{

// 在此处放置用户代码以初始化页面
if(Session["useid"] == null || Session["useid"].ToString().Equals(""))
Response.Redirect("login.aspx");
}

62,067

社区成员

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

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

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

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