c#函数和Javascript函数的事件(ASP.NET)

本文关键字:函数 ASP NET Javascript 事件 | 更新日期: 2023-09-27 18:17:37

我在使用ASP时遇到了困难。. NET组件,并希望有人可以帮助。我查看了多个查询,但没有一个真正有帮助。

我的页面上有一个"提交"按钮,当点击它应该做两件事:
1. 运行一个服务器端c#函数,更新div标签中的一堆<asp:Labels
2. 运行一个javascript动画,移动周围的东西,使<div标签可见。

我的函数本身工作得很好,但是我的问题是自动反馈。如果我使用一个<asp:Button回发刷新和javascript动画被撤消与它一起。如果我使用<input type="button"标签,我无法运行c#和Javascript函数。我尝试了以下方法:

  1. <input type="button" runat="server" onclick="c#function" onclientclick="javascriptFunction(); return false;"
    ** runat="server"似乎只是启用回发按钮

  2. <asp:Button
    ** c#函数使用Page.ClientScript.RegisterStartupScript调用javascript函数,但是postback打败了动画

我希望保持javascript动画,因为他们使界面非常干净和直观,所以任何帮助保持它是非常感激的。有什么建议吗?

c#函数和Javascript函数的事件(ASP.NET)

您可以使用ajax。您可以通过ajax将值传递给服务器页面,并让服务器页面为您处理(在表中插入记录/向某人/任何....发送电子邮件)并返回结果给您。直到你得到结果。你可以显示"正在处理…"给用户的消息

这是一个插件,有块效果。http://jquery.malsup.com/block/

下面是一个关于如何在ajax(使用jquery)中做到这一点的小示例

HTML

<html>
 <head>
   <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>  
  <head>
  <body>
      <input type="button" id="btnGetProd" value="Get Products" /> 
      <div id="divProducts"></div>
<script type="text/javascript">
$("#btnGetProd").click(function(){
    $("#divProducts").html("Processing your request....</div>").fadeIn(100, function ()                         
     {
        $.ajax({
            url: "myajaxserverpage.aspx?mode=getprodcusts&category=3",
            success: function (data) {
                $("#divProducts").html(data).fadeIn(100);
            },
            error: function (req, textStatus, error) {
                alert("Some error occured");
            }
        })
    });
  });
</script>

</body>
  </html>

,你应该有一个名为myajaxserverpage的页面。返回名为"divProducts"的div的内容(例如:产品列表)

上面的代码所做的是,当用户点击按钮,它显示文本"处理您的请求…"在div中,然后使一个ajax调用aspx页面。一旦它收到响应,它就把它放到div中,然后执行一个fadeIn效果。

你所经历的是意料之中的。浏览器将执行javascript,然后向服务器发送请求。服务器处理请求并发送响应。然后,客户机将呈现响应。此时,您所做的任何UI更改都将被丢弃,因为收到了新请求。

为了解决这个问题,您需要将ajax合并到您的页面中。

另一种方式来满足您的需求1.让按钮只做javascript函数2.让javascript函数在你完成动画后进行回发Ajax不是必需的