这一次,我将学习如何使用with矩阵创建with服务。我试着从这个链接中学习:http://www.microsoft.com/web/post/creating-a-webservice-with-webmatrix-and-consuming-it-with-a-windows-7-phone-application,但我坚持了下来,因为作者没有示例源代码。这是我的getproduct.cshtml代码:
@{
public class Product {
public string Name {get; set; }
public int Price {get; set; }
}
public static Product GetProducts(string price) {
var db = Database.Open("WebService");
var selectQueryString = "SELECT Name, Score FROM Users WHERE Score >= " + @price;
var data = db.Query(selectQueryString);
Product product = new Product();
foreach (var row in data) {
product.Name = @row.Name;
product.Price = @row.Score;
}
return product;
}
}这是我的jsonRequest.cshtml代码:
@{
var price = Request.QueryString["price"];
if (price == null || price == string.Empty) {
<p>Please enter a Price value</p>
} else {
var product = getproduct.GetProducts(price);
Json.Write(product, Response.Output);
}
}好的,也是最后一次我运行http://localhost:55278/jsonRequest.cshtml,但是我有两个错误,那就是: 1.地址没有QueryString,代码刚刚过去。2. getproductGetProduct错误(价格);
CS0117:“ASP.getproduct”不包含“GetProduct”的定义
请帮助我,如何解决我的问题,以便我可以完成该教程从那个链接。谢谢
---UPDATE----
this is my folder
Test Webservice
|-jsonRequest.cshtml
|-App_Code
|-getproduct.cshtml发布于 2013-12-09 12:14:17
我能看到的第一个问题只是对大小写敏感的问题:
var product = getproduct.GetProduct(price);应:
var product = getProduct.GetProduct(price);对象名区分大小写,必须与.cshtml文件夹中的App_Code文件的名称完全相同。
您似乎编辑了您的问题,以表明情况是正确的,所以我看到的下一个问题是,您的方法的名称是复数。您的方法签名是:
public static Product GetProducts(string price)所以你需要改变:
var product = getproduct.GetProduct(price);至:
var product = getproduct.GetProducts(price);在您的getproduct.cshtml中,您需要将块的打开从@{更改为@functions {。
我知道您也只是在学习教程,所以这只是一个旁白,但是对于我来说,这段代码对于SQL注入攻击来说绝对成熟了。
https://stackoverflow.com/questions/20466967
复制相似问题