Bunun ne anlama geldiğini biliyorum ve Google ile MSDN’de arama yaptım. Ama, bunun için başka nasıl geçeceğim?Bağlamsal anahtar kelime 'var' yalnızca yerel bir değişken bildiriminde görünebilir
App_Code klasöründe (WebMatrix kullanarak) tıraş kodumda bir işlev var ve veri tabanından bilgi alıyorum, bazı hesaplamalar yapın, sonra veritabanını yeni toplamla güncelleyin.
Ancak, bana izin vermezse, App_Code klasöründeki yöntemime değişkenleri nasıl iletebilirim? İşte
bende ne var:EditQuantity.cshtml (kök klasörü):
try
{
Base baseClass;
baseClass.CalculateTotalPriceInCart(Request.QueryString["PartNumber"], Request.QueryString["Description"], Session["OSFOID"], true);
Response.Redirect("~/Cart.cshtml");
}
catch(Exception exmes)
{
message = exmes;
}
Ve Base.cs (App_Code klasör içinde): Ben
using System;
using System.Collections.Generic;
using System.Web;
using System.Text;
using WebMatrix.Data;
/// <summary>
/// Summary description for ClassName
/// </summary>
public class Base
{
public void CalculateTotalPriceInCart(var PartNumber, var Description, var OrderId, bool IsBoxed)
{
var database = Database.Open("OSF");
var query = "";
var result = "";
decimal price = 0.00M;
if(IsBoxed)
{
// Select item.
query = "SELECT Boxes, BoxPrice FROM Cart WHERE OrderId = '" + OrderId + "' AND PartNumber = '" + PartNumber + "' AND Description = '" + Description + "' AND IsBoxed = 1";
result = database.Query(query);
// Recalculate Price.
foreach(var item in result)
{
price = result.Boxes * result.BoxPrice;
}
// Update item.
query = "UPDATE Cart SET BoxPrice = '" + price + "' WHERE OrderId = '" + OrderId + "' AND PartNumber = '" + PartNumber + "' AND Description = '" + Description + "' AND IsBoxed = 1";
database.Execute(query);
}
}
}
işe yarayıp yaramadığını görmek için birkaç şey denedim, ama hayır. Açıkçası yanlış yapıyorum, ama bunu Masaüstü uygulamalarında yaptığım şey, WebPages için neden farklı olacağını anlamıyorum ve bunu yapmak için neler yaptığımı anlayamıyorum?
Teşekkür ederiz!
Yan not olarak: Hazırlanmış/Parametreli ifadeler arkadaşınızdır. Gerçekten iyi bir nedeniniz olmadığı sürece, dizgi birleştirmeleriyle sorgu oluşturmayın. – CodesInChaos