使用函数检查Eval()

Gen*_*inn 2 c# asp.net

我正在尝试创建一个函数,检查价格是否有折扣,如​​果它确实应该输出一个计算值,但我似乎无法让它工作.谁知道我做错了什么?

ASP.NET :(从DB中提取正在按预期工作)

<%# DiscountFunction(Eval("status"), Eval("price"), Eval("procent"))%>
Run Code Online (Sandbox Code Playgroud)

代码背后:

public string DiscountFunction(string status, string price, string discount)
    {
        if(status == "True") {
            int price2 = Convert.ToInt32(price);
            int discount2 = Convert.ToInt32(discount);
            int calc = (price2 / 100) * discount2;
            int final_calc = pris2-calc;
            return price + " " + final_calc;
        } else {
            return price.ToString();
        }
    }
Run Code Online (Sandbox Code Playgroud)

我收到错误,我的函数包含无效的参数.

Ami*_*ngh 5

试试这个...

<%# DiscountFunction(Eval("status").ToString(), Eval("price").ToString(), Eval("procent").ToString())%>
Run Code Online (Sandbox Code Playgroud)

你必须转换为字符串,因为Eval函数有返回对象类型而不是字符串,所以你必须在传递给函数之前隐式地将它转换为字符串,因为它需要字符串类型参数而不是对象类型.