如何在asp.net中的文本框上实现click事件?

时间:2014-05-13 00:17:51

标签: c# asp.net

在我的Web应用程序中,我需要一个功能,以便当用户单击文本框输入值时,它应该使按钮和其他字段可见吗?

我正在使用下面提供的代码,但无法使其正常工作。

C#:

protected void TextBox1_Click(object sender, EventArgs e)
{
    ButtonSearch.Visible = true;
}

ASP.Net:

<asp:TextBox ID="TextBox1" runat="server" OnTextChanged="TextBox1_TextChanged" OnClick="TextBox1_Click"></asp:TextBox>
<asp:Button ID="ButtonSearch" runat="server" OnClick="ButtonSearch_Click" Text="Search" Visible="False" />

如何做到这一点?

由于

5 个答案:

答案 0 :(得分:2)

设置AutoPostback="True"。这样,事件将在服务器端触发,按钮将变为可见。

<asp:TextBox ID="TextBox1" runat="server" OnTextChanged="TextBox1_TextChanged"     OnClick="TextBox1_Click" AutoPostBack="true"></asp:TextBox>

但是,如果你只想要一个按钮的屏幕,你真的应该考虑javascript。这将节省返回服务器的行程。

<asp:TextBox onclick="txtBox1_ClientClicked()" ID="TextBox1" runat="server" OnClick="TextBox1_Click"></asp:TextBox>

<asp:Button ID="ButtonSearch" runat="server" OnClick="ButtonSearch_Click" Text="Search" style="display:none;" />

<script type="text/javascript">
    function txtBox1_ClientClicked(){
        var theButton = document.getElementById('<%=ButtonSearch.ClientID%>');
        theButton.style.display = 'block';
    }
</script>

答案 1 :(得分:0)

[jQuery](http://jquery.com/)是您问题的完美解决方案。

代码将是这样的:

$("#TextBox1").on("click",function(){$("#ButtonSearch").css("visibility", "visible");})

您可以通过向网页添加<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>来添加脚本,然后将上面的代码添加到<script></script>代码中。

希望这有帮助。

答案 2 :(得分:0)

您无需回发到服务器即可完成工作。例如,您可以使用客户端onFocus事件和javascript / jquery。

我知道我使用了类型文本的输入,并且您正在使用在服务器上发布的ASP控件,但这里有一个JSFiddle可以让您走上正确的轨道:http://jsfiddle.net/Mmjtz/1/

答案 3 :(得分:0)

$("<%= ButtonSearch.ClientID %>").click(function(){
$("#TextBox1").show():
});

在此代码中,您需要传递要在单击按钮时显示的字段ID。

答案 4 :(得分:0)

将文本框放在div内,然后使用代码隐藏中的div onClick事件。这不是你问的问题,但对我来说没有任何错误。以下是实现请求事件的javascript函数:

function toggleVisibility() 
{
document.getElementById('TextBox1').disabled = true;
            /*
            ...some other code...
            */
} 

当然,在实现此JS函数后,您必须在onclick定义中定义div事件。

<div id="TBdiv" onClick="toggleVisibility()">
<asp:TextBox ID="TextBox1"..../>
</div>

重要提示:由于您现在已从代码隐藏中禁用了TextBox,因此您必须先在某个位置启用它,然后才能再次使用它。否则在页面运行时你将看不到它。