2012-04-07 41 views
0

私のフォームを検証しようとしているうちに、次のエラーが表示されます: " 。(あなたがCSHTMLページで、単一のステートメントフロー制御ステートメントを使用することはできません 『{『と』}」。ブロック文はで囲まなければなりません』このページのコードの 私の行は、次のとおりです。"{"が見つかりましたが、 "("ブロックステートメントは "{"と "}"に囲まれている必要があります

@{ 
var db= Database.Open("Games"); 
var sqlQ = "SELECT * FROM Games"; 
var data = db.Query(sqlQ); 
} 
@{ 
    var fileerrorMessage = ""; 
    var NameerrorMessage = ""; 
    var Gamefile = ""; 
    var GameName = ""; 
    var isValid = true; 
    if (IsPost) { 
     if (file.IsEmpty()){ 
     fileerrorMessage = "Please upload a file."; 
     isValid = false; 
     } 

    else (formName.IsEmpty()){ 
     NameerrorMessage = "Please give the game a name."; 
     isValid = false; 
    } 

    if (isValid){ 
    var fileData = Request.Files[0]; 
    var fileName = Path.GetFileName(fileData.FileName); 
    var fileSavePath = Server.MapPath("~/upload/" + fileName); 
    fileData.SaveAs(fileSavePath); 
    GameName=Request["formName"]; 
    Gamefile=fileName; 
    var SQLINSERT = "INSERT INTO Games (Name, file_path) " + "VALUES (@0, @1)"; 
    db.Execute(SQLINSERT, GameName, Gamefile); 
    Response.Redirect("default.cshtml"); 
    } 

    else 
    { 
     <p class="message error">Please correct the errors and resubmit the form.</P> 
    } 

    } 
} 
<form action="" method="post" enctype="multipart/form-data"> 

    <input type="file" name="file" id="file" /><p> 
    @if(!fileerrorMessage.IsEmpty()) { 
     <label for="file" class="validation-error"> 
      @fileerrorMessage 
     </label> 
    } 
    <p><input type="text" name="formName" value="@GameName" /> 
    @if(!NameerrorMessage.IsEmpty()) { 
     <label for="file" class="validation-error"> 
      @NameerrorMessage 
     </label> 
    } 

    <input type="submit" value="Add Game" /> 
</form> 

エラーページにエラーが18行目にあり、何か問題があることが示唆されています:if (file.IsEmpty()){

+0

「(IsPost)なら、{」の閉鎖ブラケットであります? –

+0

私の書式の前の2番目 – mhcodner

答えて

0

は次のようになります。

else if (formName.IsEmpty()){ 
    NameerrorMessage = "Please give the game a name."; 
    isValid = false; 

ifが欠落しています!

+0

ありがとうございます。しかし、今はファイルをアップロードしても私のエラーメッセージが自動的に表示されます。 – mhcodner

1

私は同様の問題をここに上陸した - 私にとって問題だった:

@{ 
    var stuff = getSomeStuff(); 

    if (stuff.Whatever) 
     doThing(); 
} 
@if (stuff.Condition) { 
<button/> 
} else { 
<a href=""></a> 
} 

問題文、上記のような明白なコードブロック内でも最初のものは、なしで使用することができていない場合ということでした中括弧。したがって、上記のようになります。

@{ 
    var stuff = getSomeStuff(); 

    if (stuff.Whatever) 
    { 
     doThing(); 
    } 
} 
@if (stuff.Condition) { 
<button/> 
} else { 
<a href=""></a> 
} 
関連する問題