gpt4 book ai didi

javascript - 解析 JSON 数据 ASP.NET C# 和 Razor

转载 作者:行者123 更新时间:2023-12-03 03:21:57 24 4
gpt4 key购买 nike

嗨,我正在使用 ASP.NET 和 razor 在 VS 中工作,尝试使用数据库表中的值填充表,但我必须将 Json 解码或解析为简单文本。我真的很感谢一些帮助。这就是我得到的。 enter image description here

  [HttpGet]
public ActionResult GetData()
{
string stdb = "Data Source=DMX87025;Initial Catalog=DB_PCC;Integrated Security=True";
SqlConnection conn = new SqlConnection(stdb);
string sql = "SELECT *FROM[DB_PCC].[dbo].[Departments]";
SqlCommand cmd = new SqlCommand(sql, conn);
conn.Open();

SqlDataReader rd = cmd.ExecuteReader();

var st = "kyo please help me u.u";
return Json(new { success = true, message = rd },
JsonRequestBehavior.AllowGet);
}
这是我的 AJAX ...

<div id="result"></div>
<input type="button" name="name" value="try" onclick="DepListQuery()" />

<script>

function DepListQuery() {


$.ajax({
type: 'GET',
url: '@Url.Action("GetData","Home")',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {

$('#result').text(response.message);
},
failure: function (response) {
alert("something get wrong u.u");
}
});
}



</script>

最佳答案

您需要解决的第一件事是如何从 SqlDataReader 读取数据。这是有关这样做的教程:http://csharp-station.com/Tutorial/AdoDotNet/Lesson04

但更好的是直接将数据读入对象。有关创建此类扩展方法的详细信息,请参阅此答案:Convert rows from a data reader into typed results

示例扩展方法:

public static List<T> ReadList<T>(this IDataReader reader, 
Func<IDataRecord, T> generator) {
var list = new List<T>();
while (reader.Read())
list.Add(generator(reader));
return list;
}

SqlDataReader rd = cmd.ExecuteReader(); 行之后,您需要类似以下内容:

var departmentList = reader.ReadList(x => new Department {
DeptID = x.GetInt32(0),
DeptName = x.GetString(1)
});

然后,一旦有了这样的对象列表,就可以通过ajax将它们返回到前端 View :

How to parse JSON list of string on ajax return?

List of Objects To Json String

我还想指出,您应该使用 using 包围您的 SqlConnectionSqlCommandSqlDataReader 等 block 。

关于javascript - 解析 JSON 数据 ASP.NET C# 和 Razor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46534139/

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