首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从JavaScript到ASP.NET (MVC)获取变量

如何从JavaScript到ASP.NET (MVC)获取变量
EN

Stack Overflow用户
提问于 2010-03-06 23:47:34
回答 2查看 2.3K关注 0票数 1

我正在使用ASP.NET MVC (我对asp.net和asp.net mvc类型的项目都很陌生,但我很努力学习)。

我已经设置了一个控制器的MVC,以便它运行一个C#.net方法;

  1. 查询mssql db
  2. 将其转换为json
  3. 返回json字符串

它通过请求带有参数的url从javascript调用。但是我现在需要的是C#部件从javascript中读取两个整数变量。做这件事的最好方法是什么,有没有人有我可以看的好例子/代码?

这会非常有帮助的。特别是如果有使用jquery / asp.net (mvc)的智能方法的话。

EN

回答 2

Stack Overflow用户

发布于 2010-03-06 23:53:24

在您的控制器中:

代码语言:javascript
运行
复制
public JsonResult GetPony(string Name, string Color) {
  return Json(new Pony(Name, Color), JsonRequestBehavior.AllowGet);
}

在您的javascript中:

代码语言:javascript
运行
复制
$.get("/Controller/GetPony", {
  Name: "foo",
  Color: "bar"
});

jQuery将负责将对象中的内容移动到查询字符串中,而MVC将负责将内容从查询字符串移动到对操作的调用中。

票数 2
EN

Stack Overflow用户

发布于 2010-03-06 23:53:39

要做到这一点,您需要将其作为ajax请求的一部分发送。C#无法读取您的javascript,它只能读取请求参数。

如果您使用的是jQuery,请求可能如下所示:

代码语言:javascript
运行
复制
$.ajax({
    url:"/products/detail",
    type: "get", (or post, etc)
    dataType: "json",
    data: {productId: 55, culture:"en-US"},
    success: your_success_callback,
    error: function(e) { alert("An error occurred! " + e); }
});

有趣的行是data设置。它将将数据序列化为name=val&name=val,并将其发送到服务器。如果type设置为GET,那么它将被附加到URL上的查询字符串中。如果它被设置为POST,那么它将被嵌入到请求中。

服务器部分不关心哪个。它可以这样取回它:

代码语言:javascript
运行
复制
public class ProductsController : Controller
{
    public ActionResult Detail(int productId, string culture)
    {
        //your logic here
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2394542

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档