Jquery asp.net中未触发按钮单击事件

Jquery asp.net中未触发按钮单击事件,jquery,asp.net,.net,ajax,Jquery,Asp.net,.net,Ajax,我是一个工作实习的卑微学生,我继承了一个“半成品”应用程序。它是用C#(完全没有经验).NET(一点经验)编写的,使用AJAX(没有经验)和Jquery(没有经验)。我编写了一个从网页中获取文本并将其解析为文本文档的小方法。我希望它在用户按下“发布”时触发 这个按钮打不响。我在“btnPublish\u Click”处理程序中设置了一个断点,但它甚至没有到达 我已经注册了button click事件(我读到您需要在C#中执行此操作): 然后对单击事件进行编码: public void b

我是一个工作实习的卑微学生,我继承了一个“半成品”应用程序。它是用C#(完全没有经验).NET(一点经验)编写的,使用AJAX(没有经验)和Jquery(没有经验)。我编写了一个从网页中获取文本并将其解析为文本文档的小方法。我希望它在用户按下“发布”时触发

这个按钮打不响。我在“btnPublish\u Click”处理程序中设置了一个断点,但它甚至没有到达

我已经注册了button click事件(我读到您需要在C#中执行此操作):

然后对单击事件进行编码:

    public void btnPublish_Click(object sender, EventArgs e)
    {
        String script = "alert('Clicked!!!');";
        ScriptManager.RegisterStartupScript(this.Page, this.GetType(),
 "alertScript", script, true);
    }
当我点击这个按钮时,我会看到一个叫做“发布”的页面

为什么我不能让活动启动

编辑**

显然忘了在标记页中包含按钮的代码:

 <asp:Button ID="btnPublish" OnClick="btnPublish_Click" 
  CssClass="ui-state-default ui-corner-all" runat="server" 
  Text="Publish" CausesValidation="False" UseSubmitBehavior="False" />

移动按钮事件寄存器,以便它注册每个负载

namespace MaintainTenderFiles.ajax
{
    public partial class publish : TendersPage
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            btnPublish.Click += new EventHandler(this.btnPublish_Click);
            if (Page.IsPostBack == false)
            {
                loadPendingTenders();
                preloadTender();

            }
            else
            {

在代码背后编写javascript并不是最佳实践。经典webforms的工作方式让我恶心…:(我只是想在点击按钮后弹出一个警报……我不会在那里使用jscript。你说经典的webforms让你生病是什么意思?我应该做些什么不同的事情?我只是在学习,而且对未来的最佳实践更感兴趣。webforms的工作方式没有问题。一旦你理解这个过程,它是完全有意义的。而且,当你这样做ajax时,在codebehind上注册javscript也没有什么错。1.你只是想在
btnPublish
点击时执行一些客户端代码吗?2.你的标记文件
.aspx
包含
btnPublish
按钮还是动态生成的Caly in code behind
.aspx.cs
?单击按钮时,该方法从填充的表单中获取信息,然后将其写入html文件,然后将其推送到一个文件夹,等待推送到外部服务器。我的标记文件中确实有一个名为btnPublish的按钮,是的。我仍然无法进入单击事件…我不仅有小警报框没有弹出,它没有达到我插入的断点…虽然我在if的第一部分中有它,因为else部分是重定向,所以我认为它不重要。但是,正如我前面所说的,最佳实践…+1指出它…你在回发到同一页?你的表单在服务器上运行?而不是在服务器上运行在codebehind中标记onclick。尝试在html中设置它,就像您在单击按钮时所说的那样,它会转移到另一个页面。因此,它从不执行回发,而是执行到第二个页面的回发,这是您应该放置代码的地方。表单标记看起来像什么?完全正确,除了服务器端单击事件之外当您发布到第二页时,不会在第一页上发生。当前页不会被再次处理,因为您将移动到第二页。为了使单击事件发生,它必须回发到自身。您无法在第二页上绑定单击事件,因为控件不存在。跨距文本将不可用如果你想在第二页使用它,只需在你发布到下一页之前用javascript将它复制到一个文本框或隐藏字段中。
namespace MaintainTenderFiles.ajax
{
    public partial class publish : TendersPage
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            btnPublish.Click += new EventHandler(this.btnPublish_Click);
            if (Page.IsPostBack == false)
            {
                loadPendingTenders();
                preloadTender();

            }
            else
            {