如何在C#中为Web TextBox添加鼠标点击事件

3
如何在C#中为Web文本框添加鼠标点击事件。

请详细说明,这是在Web应用程序中还是在使用WebBrowser控件显示的页面中? - Amirshk
7个回答

2
如果您正在寻找服务器端的单击事件,请尝试以下方法。
public class TextBox : System.Web.UI.WebControls.TextBox, System.Web.UI.IPostBackEventHandler
{

    private static readonly object _clickEvent = new object();

    [System.ComponentModel.Category("Action")]
    public event EventHandler Click
    {
        add { base.Events.AddHandler(_clickEvent, value); }
        remove { base.Events.RemoveHandler(_clickEvent, value); }
    }

    protected virtual void OnClick(EventArgs e)
    {
        EventHandler handler = (EventHandler)base.Events[_clickEvent];
        if (handler != null) handler(this, e);
    }

    protected override void AddAttributesToRender(System.Web.UI.HtmlTextWriter writer)
    {
        base.AddAttributesToRender(writer);

        writer.AddAttribute(System.Web.UI.HtmlTextWriterAttribute.Onclick, base.Page.ClientScript.GetPostBackEventReference(this, null));
    }

    #region IPostBackEventHandler Members

    void System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(string eventArgument)
    {
        this.OnClick(EventArgs.Empty);
    }

    #endregion

}

<pages>
  <tagMapping>
    <add tagType="System.Web.UI.WebControls.TextBox"
         mappedTagType="{namespace}.TextBox"/>
  </tagMapping>
</pages>

1
如果您正在讨论客户端的onclick事件,您可以在设计师中使用OnClick属性,或者您可以手动在代码中添加"onclick"事件。
对于onclick方法,请尝试以下操作:
//asp will allow the onclick event to pass through to the webpage
<asp:textbox onclick="myJavaScriptFunction()" runat="server" id="myTextBox" ... >

要手动添加属性,请尝试以下操作:

myTextBox.Attributes.Add("onclick", "myJavaScriptFunction()");

不要认为 System.Web.UI.WebControls.TextBox 支持 OnClientClick。 - Chris Fulstow

0

你应该注册JS事件

textBox1.Attributes.Add("onclick","javascript:alert('ALERT ALERT!!!')")

0
<asp:TextBox runat="server" ID="MyTextbox" onclick="alert('click')" />

0

将文本框突出显示

转到右下角的“属性”

单击闪电图标(事件)

在那里,您将看到一系列事件,例如textchanged、onload等。在那里,您可以输入方法名称并开始编程!


0

你的意思是这样吗?

txtBox1.Attributes.Add("onClick","javascript:doSomething()");


0
你可以使用JS来解决这个问题。
在ASP页面的Script标签中定义一个OnClick事件的JS方法,例如doSomething(),然后从TextBox中调用该方法。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接