以下是控件源码:
using System;
using System.Web.UI;
using System.Web;
using System.Collections.Specialized;
namespace LianZhi.WebControl
{
public class BtEventArgs:EventArgs
{
private string _BtName="bt1";
public string BTNAME
{
set
{_BtName=value;}
get
{return _BtName;}
}
public BtEventArgs()
{}
}
/// <summary>
/// htmButton 的摘要说明。
/// </summary>
public class htmButton:Control,IPostBackEventHandler
{
public delegate void BtEventHandler(object sender, BtEventArgs fe);
public event BtEventHandler LZBtClick; private string _value="提交";
private string _formofsubmitcondition="Reg"; public string FormOfSubmitCondition
{
set
{
_formofsubmitcondition=value;
}
} public string Value
{
set
{
_value=value;
}
}
public htmButton()
{
}
protected override void Render(HtmlTextWriter writer)
{
base.Render (writer);
string submitscript=@"<script language=JavaScript>
function submitcheck()
{
if(document.all("""+_formofsubmitcondition+@""").value==""true"")
{ window.Form1.submit();
}
}
</script>
";
if (!this.Page.IsClientScriptBlockRegistered("submitcheck"))
{
writer.Write(submitscript);
this.Page.RegisterClientScriptBlock("submitcheck",submitscript);
}
writer.Write(@"<INPUT type=button value="""+_value+@""" onclick=""javascript:submitcheck();"" >"); // writer.RenderBeginTag("INPUT");
//
// writer.AddAttribute("type","button");
// writer.AddAttribute("value",_value);
// writer.AddAttribute("onclick","javascript:submitcheck();");
//writer.RenderEndTag();
}
#region IPostBackEventHandler 成员 public void RaisePostBackEvent(string eventArgument)
{
// TODO: 添加 htmButton.RaisePostBackEvent 实现 BtEventArgs e=new BtEventArgs();
LZBtClick(new object(),e); }
#endregion
}
}
asp.net里调用这个控件,调用如下:override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
HtmButton1.LZBtClick +=new LianZhi.WebControl.htmButton.BtEventHandler(this.Onclick);
}public void Onclick(object sender,LianZhi.WebControl.BtEventArgs e)
{
Response.Write("Hello!");
}按钮按后页面得到提交刷新了,可是不会响应Onclick里面的代码这是怎么回事?
请教高手们.
using System;
using System.Web.UI;
using System.Web;
using System.Collections.Specialized;
namespace LianZhi.WebControl
{
public class BtEventArgs:EventArgs
{
private string _BtName="bt1";
public string BTNAME
{
set
{_BtName=value;}
get
{return _BtName;}
}
public BtEventArgs()
{}
}
/// <summary>
/// htmButton 的摘要说明。
/// </summary>
public class htmButton:Control,IPostBackEventHandler
{
public delegate void BtEventHandler(object sender, BtEventArgs fe);
public event BtEventHandler LZBtClick; private string _value="提交";
private string _formofsubmitcondition="Reg"; public string FormOfSubmitCondition
{
set
{
_formofsubmitcondition=value;
}
} public string Value
{
set
{
_value=value;
}
}
public htmButton()
{
}
protected override void Render(HtmlTextWriter writer)
{
base.Render (writer);
string submitscript=@"<script language=JavaScript>
function submitcheck()
{
if(document.all("""+_formofsubmitcondition+@""").value==""true"")
{ window.Form1.submit();
}
}
</script>
";
if (!this.Page.IsClientScriptBlockRegistered("submitcheck"))
{
writer.Write(submitscript);
this.Page.RegisterClientScriptBlock("submitcheck",submitscript);
}
writer.Write(@"<INPUT type=button value="""+_value+@""" onclick=""javascript:submitcheck();"" >"); // writer.RenderBeginTag("INPUT");
//
// writer.AddAttribute("type","button");
// writer.AddAttribute("value",_value);
// writer.AddAttribute("onclick","javascript:submitcheck();");
//writer.RenderEndTag();
}
#region IPostBackEventHandler 成员 public void RaisePostBackEvent(string eventArgument)
{
// TODO: 添加 htmButton.RaisePostBackEvent 实现 BtEventArgs e=new BtEventArgs();
LZBtClick(new object(),e); }
#endregion
}
}
asp.net里调用这个控件,调用如下:override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
HtmButton1.LZBtClick +=new LianZhi.WebControl.htmButton.BtEventHandler(this.Onclick);
}public void Onclick(object sender,LianZhi.WebControl.BtEventArgs e)
{
Response.Write("Hello!");
}按钮按后页面得到提交刷新了,可是不会响应Onclick里面的代码这是怎么回事?
请教高手们.
解决方案 »
- web service貌似跟Ajax没多大差别啊!!
- 个点击按钮后自动关闭代码
- 获取一行中各个列的值!!!大家帮忙!
- |zyciis| VS2008中=》团队资源管理器 =》源代码管理;在这里面,我如何得到我打定的某段时候签入的哪些文件 查询出来呢 谢谢 急
- 点击更换验证码时如何部刷新页面???
- 谁能举两个1对多的数据表的例子,随便什么数据库都行
- 鼠标放上去就显示另一个对话框
- 请问怎样在 CS 文件里定义 input?
- 一个菜鸟问题 请大家帮忙
- c#中string和Stringbuilder类型如何相互转换
- 如何做一个头,就象CSDN上面的那个,让所有其他页有代有这个头?急!!!
- 急:有个问题请教!关于图片存取的和动态生成页面的问题……
string submitscript=@"<script language=JavaScript>
function submitcheck()
{
if(document.all("""+_formofsubmitcondition+@""").value==""true"")
{ window.Form1.submit();
}
}
</script>
";