如何从 C# 中的类 (.cs) 调用变量 asp.net 后端(.aspx.cs 文件)



如何将变量从.cs类文件调用到.aspx.cs文件,反之亦然。我有下面的代码。我已经在代码中放置了命名空间。例如,我想.aspx.cs文件中调用CantTakeLoan变量。

.cs类文件

public class LoanCalculator
{
public  decimal Amnt;
public double MonthlyInstallment;
private string ex;
public decimal Calculator(double Amount, double Months)
{
try
{
var Rate = 0.75;
MonthlyInstallment = Amount / ((Math.Pow(1 + Rate, Months) - 1) / (Rate * Math.Pow(1 + Rate, Months)));
double LoanLimit = 0.25 * Salary;
if( (MonthlyInstallment  < LoanLimit)
{
CantTakeLoan = "Please Not That You Cant Take Loan";
}
else
{                    
}
}
catch (Exception ex)
{
}
return Amnt;
}
}

.aspx.cs文件

protected void Unnamed_Click(object sender, EventArgs e)
{
try
{
//call variables from .cs file 
}
catch(Exception ex)
{
}
}
}

您可以像这样更改代码:

public class LoanCalculator
{
public  decimal Amnt;
public double MonthlyInstallment;
public string CanTakeLoan;
private string ex;
public decimal Calculator(double Amount, double Months)
{
try
{
var Rate = 0.75;
double LoanLimit = 0.25 * Salary;
if( (!CanTakeLoanFn(Amount, Months))
{
// Do not assign anything here. Handle you text 
// where you need it.
// If you want to handle it here, then declare it as
// A class member
this.CantTakeLoan = "Please Not That You Cant Take Loan";
}
else
{                    
}
}
catch (Exception ex)
{
}
return Amnt;
}
}
public boolean CanTakeLoanFn(double Amount, double Months) {
MonthlyInstallment = Amount / ((Math.Pow(1 + Rate, Months) - 1) / (Rate * Math.Pow(1 + Rate, Months)));
double LoanLimit = 0.25 * Salary;
return (MonthlyInstallment  > LoanLimit);
}

然后在你 Aspx 中:

protected void Unnamed_Click(object sender, EventArgs e)
{
try
{
var loanCalculator = new LoanCalculator();
if(!loanCalculator.CanTakeLoan(value1, value2)) {
// Do your logic here
}
}
catch(Exception ex)
{
}
}

您也可以将Calculator函数更改为构造函数并像这样使用

public class LoanCalculator
{
public  decimal Amnt;
public double MonthlyInstallment;
public string CanTakeLoan;
private string ex;
public LoanCalculator(double Amount, double Months)
{
try
{
var Rate = 0.75;
double LoanLimit = 0.25 * Salary;
if( (!CanTakeLoanFn(Amount, Months))
{
// Do not assign anything here. Handle you text 
// where you need it.
// If you want to handle it here, then declare it as
// A class member
this.CantTakeLoan = "Please Not That You Cant Take Loan";
}
else
{                    
}
}
catch (Exception ex)
{
}
this.Amnt = // Set the amount here
}
}
public boolean CanTakeLoanFn(double Amount, double Months) {
MonthlyInstallment = Amount / ((Math.Pow(1 + Rate, Months) - 1) / (Rate * Math.Pow(1 + Rate, Months)));
double LoanLimit = 0.25 * Salary;
return (MonthlyInstallment  > LoanLimit);
}

在 Aspx 中,如果您有绑定错误文本的标签

<asp:label id="myLabel" runat="server" />
protected void Unnamed_Click(object sender, EventArgs e)
{
try
{
var loanCalculator = new LoanCalculator(value1, value2);
if (!loanCalculator.CanTakeLoanFn(value1, value2)) {
myLabel.Text = loanCalculator.CanTakeLoan;
// Or better yet without the CanTakeLoan
myLabel.Text = "Please Not That You Cant Take Loan";
}
loanCalculator.Amnt // this is the amount variable
loanCalculator.CanTakeLoan // this is the string variable with the text
}
catch(Exception ex)
{
}
}

最新更新