我有一个页面,其中包含一些产品和用户输入数字的文本字段。我首先使用 JavaScript 来计算总成本。根据他们输入的用户数量,他们会获得不同的费率(如下面的代码所示)。当用户在文本字段中键入或粘贴数字时,将调用CalculateCost 函数,该函数将调用其他函数(示例中仅显示两个函数,CDCOst 和DVDCost),以确保“每月成本”和“年度成本”字段显示正确的值。
我当然想在插入数据库之前在后面的代码中进行最终计算。如何在 C# 中实现类似的功能?
function CDCost() {
var monthlyAmount;
var annualAmount;
var amount;
var users = $('#txtCD').val();
if (users > 0 && users < 100) {
amount = users * 14.95;
monthlyAmount = amount;
annualAmount = monthlyAmount * 12;
return [monthlyAmount, annualAmount];
}
if (users >= 100 && users <= 250) {
amount = users * 12.95;
monthlyAmount = amount;
annualAmount = monthlyAmount * 12;
return [monthlyAmount, annualAmount];
}
if (users == 0) {
monthlyAmount = 0;
annualAmount = 0;
return [monthlyAmount, annualAmount];
}
}
function DVDCost() {
var monthlyAmount;
var annualAmount;
var amount;
var users = $('#txtDVD').val();
if (users > 0 && users < 100) {
amount = users * 16.95;
monthlyAmount = amount;
annualAmount = monthlyAmount * 12;
return [monthlyAmount, annualAmount];
}
if (users >= 100 && users <= 250) {
amount = users * 14.95;
monthlyAmount = amount;
annualAmount = monthlyAmount * 12;
return [monthlyAmount, annualAmount];
}
if (users == 0) {
monthlyAmount = 0;
annualAmount = 0;
return [monthlyAmount, annualAmount];
}
}
function CalculateCost() {
var cd = CDCost();
var dvd = DVDCost();
var monthlyCost = cd[0] + dvd[0];
var annualCost = cd[1] + dvd[1];
return [monthlyCost, annualCost];
}
$('#txtCD').bind('keyup change', function (ev) {
var cost = CalculateCost();
var monthly = cost[0];
var annual = cost[1];
$('#MonthlyCostSum').text(monthly);
$('#AnnualCostSum').text(annual)
});
我将如何继续在 C# 中执行此操作?
就像是:
protected double CDCost()
{
double monthlyAmount;
double annualAmount;
double amount;
double users = Convert.ToDouble(txtCD.Text);
if (users > 0 && users < 100)
{
amount = users * 14.95;
monthlyAmount = amount;
annualAmount = monthlyAmount * 12;
return //how do I return the values here to a CalculateCost function?
}
}
要么使用out
参数或创建一个新类型来包装您想要返回的所有内容(所谓的“属性包”):
class ReportData
{
public double MonthlyAmount { get; set; }
public double AnnualAmount { get; set; }
public double Amount { get; set; }
}
...
protected ReportData CDCost()
{
return new ReportData()
{
Amount = users * 14.95
MonthlyAmount = amount,
AnnualAmount = amount * 12.0,
};
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)