【问题标题】:onClick is not fire on button Click in c#onClick 在 c# 中的按钮单击上不会触发
【发布时间】:2015-09-23 12:56:44
【问题描述】:

在内容页面中,我有一个文本框和一个按钮。在按钮单击事件上,我想显示一个 gridview,这个 gridview 有一些用于响应行为的 JavaScript。从 Gridview 我也在内容页面中使用了 ModelPopupExtender (Ajax)。

页面指令:

<%@ Page Title="" Language="C#" MasterPageFile="~/Admin.Master" AutoEventWireup="true"
    CodeBehind="UpdateUser.aspx.cs" Inherits="WirelessLCDdisplay.AdminPages.UpdateUser" %>

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>

JavaScript :

<script src="../JavaScript/jquery-1.7.2.min.js" type="text/javascript"></script>
    <script type="text/javascript">  
    <!--        // building select nav for mobile width only -->
        $(function () {
            // building select menu
            $('<select />').appendTo('nav');

            // building an option for select menu
            $('<option />', {
                'selected': 'selected',
                'value': '',
                'text': 'Choise Page...'
            }).appendTo('nav select');

            $('nav ul li a').each(function () {
                var target = $(this);

                $('<option />', {
                    'value': target.attr('href'),
                    'text': target.text()
                }).appendTo('nav select');

            });

            // on clicking on link
            $('nav select').on('change', function () {
                window.location = $(this).find('option:selected').val();
            });
        });

        // show and hide sub menu
        $(function () {
            $('nav ul li').hover(
        function () {
            //show its submenu
            $('ul', this).slideDown(150);
        },
        function () {
            //hide its submenu
            $('ul', this).slideUp(150);
        }
    );
        });
        //end
    </script>
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable = no">
    <link href="../css/basic.css" rel="stylesheet" type="text/css" />
    <script src="../JavaScript/jquery-1.10.2.min.js" type="text/javascript"></script>
    <script src="../JavaScript/jquery.responsivetable.js" type="text/javascript"></script>
    <script src="../JavaScript/jquery.responsivetable.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            setupResponsiveTables();
        });

        function setupResponsiveTables() {
            $('.responsiveTable1').responsiveTable({
                staticColumns: 2,
                scrollRight: false,
                scrollHintEnabled: true,
                scrollHintDuration: 3000
            });
        }
    </script>

文本框和按钮:

<p class="contact">
        <label for="username">
            Username</label></p>
    <asp:TextBox ID="txtUname" runat="server">
    </asp:TextBox>
    <asp:RequiredFieldValidator ID="RequiredFieldValidatorusername" runat="server" ErrorMessage="User Name required"
        Text="*" ControlToValidate="txtUname" ForeColor="Red">
    </asp:RequiredFieldValidator>
    <br />
    <br />
    <asp:Button ID="btnUserDetails" runat="server" Text="Button" 
        onclick="btnUserDetails_Click1" />
    <asp:Button ID="btnReset" runat="server" Text="Reset" class="buttom" CausesValidation="False"
        OnClick="btnReset_Click" />

onClick 事件背后的代码:

protected void btnUserDetails_Click1(object sender, EventArgs e)
        {
            BindGridData();
        }

private void BindGridData()
        {
            con.Open();
            SqlCommand cmd = new SqlCommand("Select Username,FirstName,LastName,Email,PhNo,Designation,Department,RollId from tblEmployees where Username=@Username", con);
            cmd.Parameters.AddWithValue("@Username", txtUname.Text);
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataSet ds = new DataSet();
            for (int intCount = 0; intCount < ds.Tables[0].Rows.Count; intCount++)
            {
                if ((Convert.ToString(ds.Tables[0].Rows[intCount].ItemArray[7])) == "0")
                {
                    ds.Tables[0].Rows[intCount].ItemArray[7] = "User";
                }
                else
                {
                    ds.Tables[0].Rows[intCount].ItemArray[7] = "Admin";
                }
            }
            da.Fill(ds);
            gvUserDetails.DataSource = ds;
            gvUserDetails.DataBind();
        }

**

我的 onClick="btnUserDetails_Click1" 事件未触发 背后的原因是什么??

【问题讨论】:

  • 不应该 onclick="btnUserDetails_Click1" 在 onClick 中有一个大写 O 吗?像这样 OnClick="btnUserDetails_Click1"...
  • 应该有一个大写的 c 来... OnClick。就像 btnReset
  • 这不起作用。默认情况下它需要“onClick”我仍然没有访问按钮事件。是否有可能发生这种情况是因为我在标头中放置了 JavaScript。
  • 我发现在某些按钮(如图像按钮)中触发 OnClick 事件,在某些按钮中触发 onClick 事件。 OnClick 和 onClick 之间的实际区别是什么。

标签: javascript c# jquery asp.net .net


【解决方案1】:

尝试将 onclick 更改为 OnClick

<asp:Button ID="btnUserDetails" runat="server" Text="Button" 
        OnClick="btnUserDetails_Click1" />

【讨论】:

  • 这不起作用。默认情况下它需要“onClick”我仍然没有访问按钮事件。是否有可能发生这种情况是因为我在标头中放置了 JavaScript。
  • 拒绝我的回答,因为即使这个 ONCLICK 也有效。所以看起来 Onclick 案例不是问题。编辑:该死,我不能对自己投反对票。
  • 标签前缀是'asp',为什么?你在用吗?
【解决方案2】:

在asp.net中有两种类型的按钮事件'onclick''OnClick'

onclick: 这个曾经触发过 javascript 函数。 OnClick:如果我们在按钮上添加 runat="server" 标记,这会触发您的代码在 .CS 后坐服务器事件。

注意: 1.On Click 事件将请求发送到服务器并作为响应执行操作。 2. On Client Click 与我们用Javascript编写的onclick函数非常相似...... 客户端无需将其发送到服务器​​​

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-10
    • 1970-01-01
    • 1970-01-01
    • 2016-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-21
    相关资源
    最近更新 更多