0

我想在 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");

出现错误:

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

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

谢谢

4

2 回答 2

0

生成匿名类型的代码有错误:

new{newpenpoints, disqualification, dateocc, empcdsid};

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

于 2012-04-24T03:42:27.207 回答
0

这不是有效的代码:

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

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

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

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

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

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

于 2012-04-24T03:43:37.083 回答