2017-01-08 13 views
-1

私はチェッカーと呼ばれる変数を持っていますが、フォームタグがあるまでは問題ありません。その後、変数はnullになりますか?どうして?どのように修正するのですか?フォームタグは変数を範囲外にしますか?

@{ 
           foreach (var f in l) 
           { 
            var theDate = f.date; 
            var timeFrom = f.timeFrom; 
            var timeUntil = f.timeUntil; 
            var id = f.id; 
            <div class="col-lg-offset-1"><b><u> Job Available</u></b><br /></div> 
            <div><b>@theDate.ToLongDateString()</b></div> 
           <div class="col-lg-offset-1"><b>@timeFrom.ToShortTimeString() - @timeUntil.ToShortTimeString()</b></div> 
             <br /> 

             var checker = false; 

             foreach (var q in Model.Invitations) 
             { 
              if (q.CleanerId == Model.Cleaner.id) 
              { 
               checker = true; 
               <div>@checker</div> 
              } 
             } 

             <form action="/Authentication/TakeJob" method="post" role="form"> 
              <input class="invited" data-invited="@checker" type="hidden" name="invited" value="@checker" /> 
              <input type="hidden" name="JobId" value="@id" /> 
              <input type="hidden" name="CleanerId" value="@Model.Cleaner.id" /> 
              <button class="btn btn-success btn-lg acceptButton">I'll Take The Job</button> 
             </form> 
           } 
           } 
+0

生成されたマークアップを表示できますか? – Win

+0

それはあなたのコード全体ですか? HTMLフォームとその上に書かれたコードの間に何かがありましたか?無関係の何かが起きているように感じます。特に、 'checker'がnull値のブール値ではないからです。 – Rob

+0

質問をそのまますべてのコードで更新しました。 –

答えて

0

クロージャの位置を変更してみると、フォームを含めて幅が広くなる必要はありません。

@{ 
    var checker = false; 
    foreach (var q in Model.Invitations) 
    { 
     if (q.CleanerId == Model.Cleaner.id) 
     { 
      <div>@checker</div> 
      //here it works 
     } 
    } 
} 
    <form action="/Authentication/TakeJob" method="post" role="form"> 
      //here it is null 
     <input class="invited" data-invited="@this.checker" type="hidden" name="invited" value="@this.checker" /> 
     <input type="hidden" name="JobId" value="@id" /> 
     <input type="hidden" name="CleanerId" value="@Model.Cleaner.id" /> 
     <button class="btn btn-success btn-lg acceptButton">I'll Take The Job</button> 
    </form> 
+0

クロージャにフォームが含まれていない場合、フォームにある@checkerが認識されない場合。 –

+0

'@ this.checker'私もあなたのコードでそれを変更しました。 – Aidan

+0

それを認識していないようですか?これは助けてくれないようですね? –

関連する問題