产生时
Button btn=new Button();
btn.Attribute.Add("onclick","return false;");或者你为什么不生成html的button?
Button btn=new Button();
btn.Attribute.Add("onclick","return false;");或者你为什么不生成html的button?
解决方案 »
- vs2008中jquery智能提示问题
- 我的VS2005为什么调试网页很慢
- 如何解決UpdatePanel在IE6下闪动的问题?
- 为什么不执行后台代码呢?
- 关于vs2005登陆转向的一个问题??
- 请问是用怎样用函数调用控件?
- 各位大虾来帮帮小弟
- DataGrid 多表显示的问题 !! 请高手来解答
- DataGrid中的ButtonColumn为什么没有下划线?
- <<<<<<<<<<<<<<<<<<<<<<<ashx用于哪些方面.有什么用?>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- ASP 中文显示问题
- 我在asp.net中使用了activex控件,有时更新了程序后,不会下载最新的程序还有。。
:)
我没有使用html的button,是不知道用它如何产生Button_Click动作,请问有好办法吗?
另外,我还想知道,post在什么情况下会发生,究竟做了什么操作,非常想知道
{
// 在此处放置用户代码以初始化页面
if(!Page.IsPostBack)
{
btn.Attribute.Add("onclick","return false;");
}
}这样就可以调用Button1_click函数了,这个函数是在客户端用javascript写的!在这里你就可以实现你的功能了!
<input type="button" onclick="Button1_Click()">总的来说,post就是在页面提交时!也就是如果是runat="server"的控件,在click时,就会提交,并不是每一种控件都是一样!总的理解就是页面调用submit()是就会post!
{
// 在此处放置用户代码以初始化页面
if(!Page.IsPostBack)
{
btn.Attribute.Add("onclick","return false;");
}
}
其次,如果你用的是<asp:Button ...>,那么对应的html元素是一个<input type=submit>。如果你只是想做一些客户端的操作,那么用普通的<input type=button>就行了。如果需要读取客户端的数据,那么必须post表单。
当然,在submit的onclick里面加上return false可以阻止表单的提交,但是我认为还不如直接用<input type=button>方便。
1.静态生成两个button,分别为Button1和Button2;
2.点击Button1,动态生成一个Panel和一个checkbox,代码如下
Dim Oper_Panel As New Panel()
Dim Oper_Check As New CheckBox()
Oper_Panel.ID = "Pan1000" Oper_Panel.HorizontalAlign() = HorizontalAlign.Left
Oper_Panel.BorderStyle() = BorderStyle.Double
Oper_Panel.BorderColor() = Color.LightSeaGreen() Oper_Panel.BackColor() = Color.Bisque Oper_Panel.Controls.Add(New LiteralControl("hello"))
Oper_Panel.Controls.Add(New LiteralControl("<hr>"))
Oper_Check.ID = "test11"
Oper_Check.Text = "hello!"
'Oper_Panel.Controls.Add(Oper_Check)
Me.FindControl("form1").Controls.Add(Oper_Panel)
Me.FindControl("form1").FindControl("Pan1000").Controls.Add(Oper_Check)
Me.Controls.Add(New LiteralControl("<hr>"))
3.选中checkbox,使其checked为True;
4.点击Button2,根据CheckBox的状态写入后台数据库相应数据,问题就出在这一步,因为产生了post动作,而控件又是动态生成的,findControl将不再能找到checkbox和它的状态,同时动态控件也会消失;
5.是否有好办法解决这个问题?
'Oper_Panel.Controls.Add(Oper_Check)
Me.FindControl("form1").Controls.Add(Oper_Panel)
Me.FindControl("form1").FindControl("Pan1000").Controls.Add(Oper_Check)
Me.Controls.Add(New LiteralControl("<hr>"))
我最终要实现的功能实际上是一套操作员权限管理的功能,也就是说,首先是根据管理员的权限,动态生成他可以赋予权限的菜单(checkbox和Panel),再选取DropDownList里的操作员,根据操作员已有的权限,设置checkbox的状态,最后,管理员重新赋予权限后,提交给数据库,也就是说一共有三个动作,第二个动作和第三个间有客户端的动作在里面,所以不能重载,很麻烦。
是不是有这种可能,javascript里嵌asp.net的代码?