1

我需要帮助我的逻辑...

目前:

  1. 用户在页面中输入一些数据。
  2. 用户点击提交。
  3. Javascript 将他们的数据放在一个隐藏的输入字段中。
  4. 该页面进行回发(重新加载)
  5. C# 注册这是一个回发并获取隐藏的 javascript 字段。
  6. C# 将其放入数据库中。

上面的问题是重新加载网页。我不要那个。我玩过一个不起作用的回调脚本(我在尝试调试时还有另一个问题)。

我的问题是关于在没有回调或回发的情况下完成我上面定义的步骤的替代方法?有没有办法简单地从客户端函数按需调用服务器端函数?(我知道回调应该做这件事,但我的不工作)

如果没有这样的选择,为什么回调这么复杂(从新手的角度来看)?为什么我不能简单地调用如下回调:

if (IsCallBack)
        {
            string test = Request.Form["saveTest"];
            //do stuff
        }

谢谢你。另外,请不要在没有先批评我的情况下“关闭”或标记我的问题。谢谢。

4

1 回答 1

1

这是我能想到的最简单的示例,它使用 Ajax 和 ASP.Net。

  • 使用 JQuery,因为它简化了 Ajax 请求
  • 不使用 ASP.Net AJAX,因为它在核心技术之上添加了抽象,这不是开始学习的好方法

一、UserInput.aspx

<html>
    <input type='text' id='SomeUserInput' />
    <input type='submit' value='submit' id='SubmitButton' />

    <script src='http://code.jquery.com/jquery-1.10.2.js'></script>
    <script>  
        // wait for the document to load
        $(document).ready(function() {

            // handle the button click
            $("#SubmitButton").on("click", function(e) {

                // stop the page from submitting, so we can make the Ajax call
                e.preventDefault();

                // retrieve the user input
                var userInput = $("#SomeUserInput").val();

                // make the Ajax request
                $.post("AjaxHandler.aspx", { saveText: userInput }, function(response) {

                    // handle response from the server
                    alert("Request is complete.  Result: " + response);
                });
            });
        });
    </script>
</html>

二、AjaxHandler.aspx

<%@ Page Language="C#" %>

<%
    string userInput = Request.Params["saveText"];

    // use the input here

    Response.Write("done, maybe?");
%>
于 2013-07-19T18:06:37.413 回答