我正在为 Asp.net 中的餐厅管理系统创建销售点表单,我有两个部分,第一部分是具有饮料、比萨等按钮的类别,第二部分是类别的子菜单,例如单击饮料它应该从 sql server 表中打开子菜单 Pepsi、Coke、Mirinda 等。
我已经创建了类别的运行时按钮,现在我想使用 json 执行存储过程以在单击类别按钮时显示项目中的子菜单。请解释与 sql server 的连接过程并使用 json 执行存储过程。提前致谢。问候 saqib
JSON
不会执行命令。它只是一种以文本形式存储数据的方式,开发人员易于阅读。WebMethod
如果要用于JSON
存储DropDown
s 的值或将数据返回到s,则需要创建一个DropDown
。下面的代码展示了如何创建一个 Web 服务并使用JSON
它来从数据库中返回结果。您将使用DataContractJsonSerializer
该类来阅读JSON
. 这个例子来自Using JSON with ASP.NET 3.5
using System;
using System.IO;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Activation;
using System.Data.SqlClient;
using System.Runtime.Serialization.Json;
[ServiceContract(Namespace = "")]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class ProductService
{
[OperationContract]
public string GetProductDetailsByProductID(int productID)
{
Product prod = new Product();
string connectionString =
"server=localhost;uid=sa;pwd=thiru;database=AdventureWorks;";
using (SqlConnection connection = new SqlConnection(connectionString))
{
string sql = "Select Name, ProductNumber from Production.Product " +
" Where ProductID = " + productID.ToString();
connection.Open();
SqlCommand command = new SqlCommand(sql, connection);
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
prod.Name = reader["Name"].ToString();
prod.ProductNumber = reader["ProductNumber"].ToString();
prod.ProductID = productID;
}
}
MemoryStream stream = new MemoryStream();
DataContractJsonSerializer serializer = new
DataContractJsonSerializer(typeof(Product));
serializer.WriteObject(stream, prod);
stream.Position = 0;
StreamReader streamReader = new StreamReader(stream);
return streamReader.ReadToEnd();
}
}
[DataContract]
public class Product
{
[DataMember]
public int ProductID;
[DataMember]
public string Name;
[DataMember]
public string ProductNumber;
}