首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ASP.NET MVC场景,类似于在StackOverflow上发布你的答案

ASP.NET MVC场景,类似于在StackOverflow上发布你的答案
EN

Stack Overflow用户
提问于 2009-02-07 09:02:34
回答 4查看 347关注 0票数 1

我有一个要求添加评论系统的页面(类似于‘张贴你的答案’在任何SO问题的底部)。实现这一点的最佳方式是什么?我应该使用Ajax呈现部分视图,还是应该只将Json数据传递给服务器?在后一种情况下,我不太明白如何将新添加的注释添加到现有注释的底部。

我对ajax MVC非常陌生,对ASP.NET模式并不是很熟悉。另外,我听说,不显眼的JavaScript的支柱是,你的页面应该首先在没有JavaScript的情况下开发,并具有完整的功能,然后开发人员才应该添加JavaScript并增强体验。这通常是真的吗?在上面的特殊情况下是真的吗?

谢谢。

PS。我使用的是jQuery。

EN

Stack Overflow用户

发布于 2009-02-07 09:56:04

我通常使用JSON作为我的AJAX数据类型。XML (JavaScript Object Notation)它的工作原理很像,但它使用的数据少了大约70%。您还会发现在javascript中解析起来更容易。无需从初始化date/number对象!

代码语言:javascript
复制
{ "people": [
  { "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance.com" },
  { "firstName": "Jason", "lastName":"Hunter", "email": "jason@servlets.com" },
  { "firstName": "Elliotte", "lastName":"Harold", "email": "elharo@macfaq.com" }
]}

Thanks IBM For The Example

代码语言:javascript
复制
<people>
  <person>
    <firstName>Brett</firstName>
    <lastName>McLaughlin</lastName>
    <email>brett@newInstance.com</email >
  </person>
  <person>
    <firstName>Jason</firstName>
    <lastName>Hunter</lastName>
    <email>jason@servlets.com</email >
  </person>
  <person>
    <firstName>Elliotte</firstName>
    <lastName>Harold</lastName>
    <email>elharo@macfaq.com</email >
  </person>
</people >

我发现MVC JSON框架在序列化、反序列化和忽略成员属性方面有一些不足之处。我在Codeplex上找到了Json.NET项目。它似乎填补了MVC JSON没有覆盖的所有功能空白。

因此,在您的控制器中,我使用的是Json.NET,请注意,输出是ContentResult,它没有a View

代码语言:javascript
复制
 public ContentResult ProcessRequestAction(string Email, string Password)
 {
     Product product = new Product();
     product.Name = "Apple";
     product.Expiry = new DateTime(2008, 12, 28);
     product.Price = 3.99M;
     product.Sizes = new string[] { "Small", "Medium", "Large" };
     return Content(JavaScriptConvert.SerializeObject(product));
 }

典型的JQuery代码,用于JSON请求

代码语言:javascript
复制
      $.ajax({
            type: "POST", /* GET OR POST */
            url: "JSON_MVC_URL_HERE", /* your url here */
            dataType: "json", /* json or xml */
            data: null, /* JSON CODE HERE TO SET GET OR POST BACK PARAMS */
            success: function(data){
                alert(data.Name); /* Gets Name Element */
                alert(data.Expiry); /* Gets Expiry Element */
                alert(data.Price); /* Gets Price Element */
                jQuery.each(data.Sizes, function() { /* Get Each Size */
                    alert(this);
                });
            }
        });

$.getJSON也可以工作,但缺少http请求类型POST/GET

票数 3
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/523479

复制
相关文章

相似问题

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