使用 C# 和 Webmatrix 开发我的第一个网页项目。事情本来进展顺利,但现在遇到了一个让我困惑的问题。我正在做的是将一个表单发布到此页面,其中包含一条消息,然后我将该消息保存到数据库(稍后还将开始电子邮件部分)。
我已经发布了下面的代码,它实际上比说明问题所需的时间要长,但我想我还是将其全部发布。在我尝试运行 WebMatrix 之前,当我看到倒数第二个右花括号突出显示为黄色时,WebMatrix 就已经突出显示了手头的一个问题。运行代码时(并且发布值都正常),我收到错误“CS1513:}预期”。我最初以为我错误地添加了一个额外的右大括号,但是经过检查和仔细检查,然后逐行缓慢地重建代码以识别在哪一行之后开始出错,我现在得出的结论是,没有任何“if(IsPost && WebSecurity.IsAuthenticated)”中嵌套的“if”和“foreach”语句的“if”语句,然后它“起作用”(尽管显然不符合所需的逻辑)。
我查了一下,发现很多 C# 代码示例都是这样做的。任何帮助、指示或其他任何东西都非常感激。
问
@{
if(IsPost && WebSecurity.IsAuthenticated){
var fromEmail = WebSecurity.CurrentUserName;
var fromUserId = @WebSecurity.CurrentUserId;
var message = Request["message"];
var uid = Request["uid"];
bool multiSend = false;
var db = Database.Open("Tennegize");
var skillLevel = 0;
if(Request["multi"]=="1"){
multiSend = true;
}
//Save to message to BD
var insertQuery = "INSERT INTO Messages (UserEmail, UserId, Message) VALUES (@0, @1, @2)";
db.Execute(insertQuery, fromEmail, fromUserId, message);
decimal messageId = db.GetLastInsertId();
if(multiSend){
//Get …Run Code Online (Sandbox Code Playgroud)