0

我正在学习剃刀语法,使用 WebMatrix 中的起始站点并尝试显示表格中的一些数据。我只想从登录用户中选择数据,所以实际上想说

...WHERE UserId =@WebSecurity.CurrentUserId";

但这不起作用。

使用 @0 方法对我也不起作用 - 我得到一个 'A 参数丢失。[ 参数序数 = 1 ]' 错误。

我是否必须设置一个变量然后使用@0 / @1 / @whichever 方式?如果是这样 - 这段代码有什么问题?

@{
//Is the user logged in?
WebSecurity.RequireAuthenticatedUser();

//Get the user's data

var TheUser = WebSecurity.CurrentUserId;

   var db= Database.Open("StarterSite");
   var sqlQ = "SELECT * FROM Days WHERE UserId =@0";
   var data = db.Query(sqlQ);
   }

我确定这在很大程度上是一个初学者问题,但我只是想开始。非常感谢任何帮助。

4

1 回答 1

1

您需要将值传递给查询
文档

var data = db.Query(sqlQ, TheUser);
于 2011-02-19T14:37:55.907 回答