Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 按钮突然停止工作_C#_Asp.net_Button - Fatal编程技术网

C# 按钮突然停止工作

C# 按钮突然停止工作,c#,asp.net,button,C#,Asp.net,Button,嗨,我在我正在开发的网站上有一个按钮,它工作得很好,然后我昨天在网页上添加了一些样式和引导,但今天它不工作了。逻辑看起来都很好,所以我不确定会出什么问题 我的页面加载中有一个指向有效函数的事件处理程序,但由于某些原因,当我单击按钮时,该函数未被调用: protected void Page_Load(object sender, EventArgs e) { SendButton.Click += new EventHandler(SendButton_Click); //Som

嗨,我在我正在开发的网站上有一个按钮,它工作得很好,然后我昨天在网页上添加了一些样式和引导,但今天它不工作了。逻辑看起来都很好,所以我不确定会出什么问题

我的页面加载中有一个指向有效函数的事件处理程序,但由于某些原因,当我单击按钮时,该函数未被调用:

protected void Page_Load(object sender, EventArgs e)
{
    SendButton.Click += new EventHandler(SendButton_Click);
    //Some other code I have left out for simplicity
}
public void SendButton_Click(Object sender, EventArgs e)
{
    UserCredential sendingUser = (UserCredential)Session["authenticatedUser"];
    UserCredential receivingUser = Global.Users.Find(m => m.UserID == Convert.ToInt32(Session["receivinguserid"]));
    Global.Users.Find(m => m.UserID == (int)sendingUser.UserID).Conversations.Find(t => t.ReceivingUserID == receivingUser.UserID).ReadMessageList.Add(new Message(MessageTextBox.Text, (int)sendingUser.UserID, DateTime.Now));
    Global.Users.Find(m => m.UserID == (int)receivingUser.UserID).Conversations.Find(t => t.ReceivingUserID == sendingUser.UserID).UnReadMessageList.Add(new Message(MessageTextBox.Text, (int)sendingUser.UserID, DateTime.Now));
    ChatLabel.Text += "<br>" + sendingUser.Name.ToString() + ": " + MessageTextBox.Text + " " + DateTime.Now.ToString("ddd, dd MMMM HH:mm");
    MessageTextBox.Text = String.Empty;
}
受保护的无效页面加载(对象发送方,事件参数e)
{
SendButton.Click+=新建事件处理程序(SendButton\u Click);
//为了简单起见,我省略了一些其他代码
}
公共无效发送按钮\单击(对象发送程序,事件参数e)
{
UserCredential sendingUser=(UserCredential)会话[“authenticatedUser”];
UserCredential receivingUser=Global.Users.Find(m=>m.UserID==Convert.ToInt32(会话[“receivinguserid]”));
Global.Users.Find(m=>m.UserID==(int)sendingUser.UserID).Conversations.Find(t=>t.ReceivingUserID==receivingUser.UserID).ReadMessageList.Add(新消息(MessageTextBox.Text,(int)sendingUser.UserID,DateTime.Now));
Global.Users.Find(m=>m.UserID==(int)receivingUser.UserID).Conversations.Find(t=>t.ReceivingUserID==sendingUser.UserID).UnReadMessageList.Add(新消息(MessageTextBox.Text,(int)sendingUser.UserID,DateTime.Now));
ChatLabel.Text+=“
”+sendingUser.Name.ToString()+”:“+MessageTextBox.Text+”+DateTime.Now.ToString(“ddd,dd MMMM HH:mm”); MessageTextBox.Text=String.Empty; }
这是我的html页面,Send按钮一直位于底部:

<form id="form1" runat="server">
    <div class="row">
        <div class="well center" style="width:50%">
            <a>
            <asp:ScriptManager ID="ScriptManager1" runat="server">
            </asp:ScriptManager>
                <asp:Timer ID="Timer1" runat="server">
                </asp:Timer>
            </a>
            <asp:UpdatePanel runat="server">
                <Triggers>
                    <asp:AsyncPostBackTrigger ControlID="tim" EventName="Tick" />
                </Triggers>
                <ContentTemplate>
                    <asp:Timer ID="tim" Interval="5000" Enabled="true" OnTick="UpdateChat" runat="server"></asp:Timer>
                    <asp:Label ID="ChatLabel" runat="server"></asp:Label>
                </ContentTemplate>
            </asp:UpdatePanel>
            <asp:TextBox ID="MessageTextBox" runat="server" Width="438px"></asp:TextBox>
            <asp:Button ID="SendButton" runat="server" Text="Send" OnClientClick="return false"/>
        </div>
    </div>
    </form>

删除或清除按钮的
OnClientClick=“return false”


如果(客户端)javascript按钮处理程序返回
false
,那么整个表单将永远不会提交,因此您的服务器端代码将永远不会到达。

在IE上使用F12,看看您的DOM是否与以前相同,您是否更改了一些ID或类?为什么要在页面加载中连接事件处理程序?为什么不在按钮上声明性地设置它呢?为什么在客户端单击时返回false
?看起来这会阻止回发。谢谢,我不记得在里面加了,但效果很好