gpt4 book ai didi

c# - 简单的异步回调替代方案

转载 作者:行者123 更新时间:2023-11-28 02:06:12 24 4
gpt4 key购买 nike

我的逻辑需要帮助...

当前:

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

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

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

如果没有这样的替代方案,为什么回调如此复杂(从新手的 Angular 来看)?为什么我不能简单地调用回调,例如:

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

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

最佳答案

这是我能想到的最简单的示例,它将 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?");
%>

关于c# - 简单的异步回调替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17752018/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com