小编Fis*_*ish的帖子

使用嵌套 IF 语句导致“CS1513:}预期”错误(Webmatrix 中的 C#)

使用 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)

c# webmatrix

3
推荐指数
1
解决办法
1307
查看次数

标签 统计

c# ×1

webmatrix ×1