C# 用Json.NET填充HTML表

C# 用Json.NET填充HTML表,c#,json,post,json.net,C#,Json,Post,Json.net,HTML表需要来自一个JSON对象的2个单元格的数据,默认的.aspx.cs文件通过POST接收该JSON对象。解析这个JSON对象的任务有点棘手,因为数据的内容可能会有相当大的差异。但是,VS的即时窗口确认JsonResult[“”]术语工作正常(注意,我在POST请求中成功地从JSON对象接收数据)。但是,在尝试实现下面的代码时,我会得到不一致的性能 if (Request.HttpMethod.ToString() == "POST") { if (Request.Form[

HTML表需要来自一个JSON对象的2个单元格的数据,默认的.aspx.cs文件通过POST接收该JSON对象。解析这个JSON对象的任务有点棘手,因为数据的内容可能会有相当大的差异。但是,VS的即时窗口确认JsonResult[“”]术语工作正常(注意,我在POST请求中成功地从JSON对象接收数据)。但是,在尝试实现下面的代码时,我会得到不一致的性能

  if (Request.HttpMethod.ToString() == "POST") {

    if (Request.Form["Item"] != null) {
      Newtonsoft.Json.Linq.JObject JsonResult = (Newtonsoft.Json.Linq.JObject)JsonConvert.DeserializeObject(Request.Form["Item"]);

      if (JsonResult["requestType"] != null) {
        cartItem = new CartItem(
          "TestCode",
          JsonResult["containerType"].ToString(),
          JsonResult["resultType"].ToString(),
          1,
          3.99
          );

        // populate empty cells with data, place cells in row and place row in table.
        foreach (var item in cartItem.getCartCells().Select((value, index) => new { value, index })) {
          try {
            cartCells.Add(new TableCell());
            int i = cartCells.Count() - 1;
            cartCells[i].Text = (item.value != null || item.value != "") ? item.value : " - ";
            tr.Cells.Add(cartCells[i]);
          } catch (Exception ex) {
            Response.Write("shopping cart failed to run: " + ex.Message);
            break;
          }
        }
        shoppingCart.Rows.Add(tr);
      }
    }
  }

以前,我有一个存根执行类似的任务,没有任何问题。然而,现在,这段代码应该添加到我的表中的附加行没有出现在POST上。奇怪的是,当我在检查请求方法之后添加
Response.Write(“Write-test”)
时,表构建得很好。这里是否存在某种异步问题?Intellisense和调试器没有检测到任何东西…

上面的逻辑实际上是合理的。它不起作用的原因与我的意见有关。我从表单中提取数据并用JS提交(因为我实际上需要比表单本身包含的数据多得多的数据)。我没有想到的是,我使用的按钮也在提交我的表单。结果是一个凌乱的头,看起来是由两个请求混合在一起的。解决方案是将
替换为

另一方面,这条线索可能对患有类似头痛的人也很有用: