我应该如何修改此代码以使其在 Razor C# 中工作

本文关键字:Razor 工作 代码 何修改 修改 我应该 | 更新日期: 2023-09-27 18:32:00

我想在 Razor C# 中添加 2 个变量。

因此,我尝试了这个:

var newpenpoints = result.PenaltyPoints + int.Parse(penalty);

但我认为当我尝试将数字放入数据库时它不起作用:

var sql5 = "UPDATE Permit SET PenaltyPoints=@0, Disqualification = @1, LastAccidentDate = @2 WHERE CDSID = @3";
        var para1 = new{newpenpoints, disqualification, dateocc, empcdsid};
        db.Execute(sql5,para1);
        Response.Redirect("~/AccidentConviction");

有 en 错误:

CS0746: Invalid anonymous type member declarator. Anonymous type members must be declared with a member assignment, simple name or member access.

有谁知道如何修改我的代码以使其进行一些数学运算?

谢谢

我应该如何修改此代码以使其在 Razor C# 中工作

这不是有效的代码:

var para1 = new { newpenpoints, disqualification, dateocc, empcdsid };

这是尝试创建一个具有四个字段的匿名类型]1,但您没有为它们命名。若要创建此类类型,必须使用已有的另一个对象的值初始化字段,或者显式命名它们:

var para1 = new 
{
  NewPenPoints = newpenpoints, 
  Disqualification = disqualification, 
  Dateocc = dateocc, 
  Empcdsid = empcdsid
};  

但是,重新阅读示例代码时,它会怀疑您真正想要的是对象数组。在这种情况下,您没有说db是什么,但我猜Execute需要stringobject[]参数。在这种情况下,您想要的是:

var para1 = new[] { newpenpoints, disqualification, dateocc, empcdsid };

请注意[]:这是创建一个包含值列表的新对象数组,例如 para1[0] = newpenpoints等。我认为这才是你真正想做的。

生成匿名类型的代码中存在错误:

new{newpenpoints, disqualification, dateocc, empcdsid};

您确定所有变量(newpenpoints、disqualation、dateocc、empcdsid)都是在生成编译器错误的上下文中声明的吗?