我是指WEB控件,不是HTML里的控件,如何定义一个双击事件?谢谢
解决方案 »
- 一个dropdownlist的问题
- .net论坛版块怎么设计
- 编程实现任意输入m,n,要求输出m是小于等于n个数的平方和的表达式,如:m=13,n=2,输出:13=3*3+2*2;m=71,n=5,输出:
- w3wp.exe cpu 100%居高不下
- 关于Reflector
- 我的IIS不能运行ASP.NET的程序~~~~请高手指点
- 用webmatrix网页做的如何发布
- 怎样将数据库中某表的自动编号字段的最大值取出来赋给一个integer?
- 关于验证授权的问题。
- 为什么我在web.config中一加appSettings后,运行程序就报错
- 如何确定选择哪个单选按钮(HtmlRadioButton 控件)并将选定内容显示??Online Waiting
- 在WORD里做一个模板,然后从SQLSERVER里把数据倒入WORD里,然后也可以把数据从WORD里倒入SQLSERVER里(★★200分★★)
http://www.csdn.net/expert/topic/943/943952.xml?temp=.4561273
是 hgknight(江雨.net)写的代码,自己去看一看他的第二个例子,很有创意,相信会对你有帮助。
另:考虑“版权”问题只是转载,回来后可别忘了给分哦:)
如果只是需要双击事件的话。
ondbclick()处理客户端脚本触发页面一个隐藏Button的Click事件
可以模拟文本框的双击事件。
表面上是双击文本框但实际执行的是Button的事件。。
页面
<asp:textbox id="txtCustomerId"></asp:textbox>
<asp:button id="btnRefresh" runat="server" Text="HIDDEN" style="DISPLAY:none;POSITION:absolute;"></asp:button>代码
btnSearch.Attributes.Add("onclick", "OpenSearch();");
txtCustomerId.Attributes.Add("ondblclick", Page.GetPostBackEventReference(btnRefresh));
private void btnRefresh_Click(object sender, System.EventArgs e)
{
....
}
在WebForm1.aspx的HTML中
<form id="WebForm4" method="post" runat="server">在服务器端响应双击事件<br>
<asp:TextBox id="TextBox1" runat="server"></asp:TextBox><br>
<asp:Button id="Button1" runat="server" Text="Button"></asp:Button><br>
<input type="hidden" name="Isdbclick" value="false">
</form>
<script language="vbscript">
option explicit
sub TextBox1_ondblclick()
WebForm4.Isdbclick.value="TextBox1Dbclick"
WebForm4.submit()
end sub
</script>在Page_Load事件中写
If (Page.IsPostBack) Then
Select Case Request.Form("isdbclick").ToString
Case "TextBox1Dbclick"
Page.RegisterStartupScript("openwindow", "<script language='vbscript'>window.open ""webform2.aspx"",null,""Top=200,left=300,width=300,height=200,toolbar=no,menubar=no,scrollbars=no""</script>")
End Select
End IfWebForm2.aspx的HTML中:
<form id="Form1" method="post" runat="server">
<asp:TextBox id="TextBox1" runat="server"></asp:TextBox>
<asp:Button id="Button1" Text="Button" Runat="server"></asp:Button>
</form>
在Button1_Click事件中:
Dim ScriptString As String = "<script language='javascript'>var aa= window.opener.document.getElementById(""TextBox1"");"
ScriptString += "var bb=document.getElementById(""TextBox1"");"
ScriptString += "aa.value=bb.value;"
ScriptString += "window.close();"
ScriptString += "</script>"
Page.RegisterStartupScript("return", ScriptString)
这样就可以了。
在webform1中双击TextBox1出现webform2窗口,在webform2窗口中的textbox1中输入值,按button1后关闭webform2,并将该值送入webform1中的textbox1。代码测试通过,直接COPY即可。
希望能对你有帮助。
ScriptString += "var bb=document.getElementById(""TextBox1"");"
中的TextBox1改为你那个控件的ID,bb.value改为bb.textvalue。textvalue是指控件中textbox的value值。没试,你自己逐磨吧。有结果也告诉我一声。
建一个用户控件WebUserControl1.ascx中有一文本框TextBox1;
在WebUserControl1.ascx.vb中写一个属性
Public Property Value() As Integer
Get
Return TextBox1.Text
End Get
Set(ByVal Value As Integer)
TextBox1.Text = Value.ToString
End Set
End Property
接下来将用户控件添加到webform1.aspx中去,假设用户控件在webform1.aspx中的ID为“WebUserControl11”。注意在webform1.aspx.vb中注册控件Protected WithEvents WebUserControl11 As WebUserControl1接下来将webform2.aspx.vb代码中的
Dim ScriptString As String = "<script language='javascript'>var aa= window.opener.document.getElementById(""TextBox1"");"改为:Dim ScriptString As String = "<script language='javascript'>var aa= window.opener.document.getElementById(""WebUserControl11:TextBox1"");"
注意:这个TextBox1与用户控件中的textbox1的ID要一致。
测试通过,祝你成功。