C# C语言中的ajaxpost等价物#

C# C语言中的ajaxpost等价物#,c#,asp.net,ajax,C#,Asp.net,Ajax,我继承了一个web应用程序,需要将客户端ajax帖子转换为服务器端asp.net代码(C#)。我不确定实现这一点的最佳方法是什么,我对ajax帖子很陌生,但这段代码似乎是在同一个项目中向页面发布信息,所以我假设有一种更简单的方法来实现这一点,服务器端只是想让人确认我没有发疯 代码 $.ajax({ //类型:“POST”, //url:“/Login”, //数据:参数, //contentType:“应用程序/json;字符集=utf-8”, //数据类型:“json”, //成功:功能(ms

我继承了一个web应用程序,需要将客户端ajax帖子转换为服务器端asp.net代码(C#)。我不确定实现这一点的最佳方法是什么,我对ajax帖子很陌生,但这段代码似乎是在同一个项目中向页面发布信息,所以我假设有一种更简单的方法来实现这一点,服务器端只是想让人确认我没有发疯

代码
$.ajax({
//类型:“POST”,
//url:“/Login”,
//数据:参数,
//contentType:“应用程序/json;字符集=utf-8”,
//数据类型:“json”,
//成功:功能(msg){
//如果(msg.d==“成功”){
//$.modal.autoResize=false;
//ResizeModal();
//var redirectUrl=$('#').attr('data-redirectUrl');
//if(redirectUrl!=null&&redirectUrl.length>0){
//window.location=重定向URL;
//              }

Ajax调用只是HTTP请求的一个特例,在.net中没有现成的方法,因此您的问题是如何在.net中发出HTTP请求,有多种方法:

或者使用,这是最简单的方法

我建议使用chromedev工具捕获准确的HTTP请求,然后对服务器端执行同样的操作,并对它们进行比较,以确保它们相似


但是看起来您需要一些稍微不同的东西,看起来您的页面只是将数据发布到默认页面,然后重定向到该页面,这可以通过一个简单的

来完成。您可以使用一个
HttpWebRequest
。它将是这样的:

var httpWebRequest = (HttpWebRequest)WebRequest.Create( ResolveUrl("~/default.aspx"));
httpWebRequest.ContentType = "text/json";
httpWebRequest.Method = "POST";
string json = .... //Constrtuct your json here
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
    streamWriter.Write(json);
}
var response = httpWebRequest.GetResponse();

使用服务器端的WebAPI(ASP.Net MVC4 Controller,如果您想在IIS下托管;也可以在单独的独立应用程序下自行托管WebAPI)和客户端的HttpClient,这变得容易多了


我想,当进行此ajax调用时,可能会很有趣-单击按钮?在这种情况下,登录表单应该可以轻松地转换为标准回发方法。这有点让人困惑,“将客户端ajax帖子转换为服务器端C#asp.net代码”.你这是什么意思???Ajax post它是一个由客户端初始化和触发的操作…除了答案所建议的,创建一个HTTP请求,你可以用一个简单的服务器端函数调用替代Ajax调用。可能你只是在处理一些已经到达服务器的数据,所以没有need模拟一篇文章到你自己的应用程序中去做处理——你可以调用一篇文章会调用的处理函数。是的,我知道在我发布它的时候它很混乱,我意识到ajax代码在做什么,在登录页面上把它移到服务器端函数中会容易得多。我只是不确定为什么要这样做太复杂了?再简单不过了!
var httpWebRequest = (HttpWebRequest)WebRequest.Create( ResolveUrl("~/default.aspx"));
httpWebRequest.ContentType = "text/json";
httpWebRequest.Method = "POST";
string json = .... //Constrtuct your json here
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
    streamWriter.Write(json);
}
var response = httpWebRequest.GetResponse();