@ {...}内部的代码是否始终在表单提交上运行

时间:2018-07-13 09:35:31

标签: asp.net

我是ASP.NET的新手,目前正在查看w3school上的教程。

我不明白的是以下代码:

@{
var imagePath=""; 
if( Request["Choice"] != null)
   {imagePath="images/" + Request["Choice"];} 
} 

<!DOCTYPE html> 
<html> 
    <body> 
        <h1>Display Images</h1> 
        <form method="post" action=""> 
            I want to see: 
            <select name="Choice"> 
                <option value="Pic1.jpg">Photo 1</option> 
                <option value="Pic2.jpg">Photo 2</option> 
                <option value="Pic3.jpg">Photo 3</option> 
             </select> 
             <input type="submit" value="Submit"> 
             @if(imagePath != "")
             {
                 <p>
                 <img src="@imagePath" alt="Sample">
                 </p>
             }  
         </form>
    </body>
</html> 

让我感到困惑的是这部分@if(imagePath != "")

我的问题是部分代码是否一直运行(因此它在页面内的所有代码中每Xms都运行一次)还是在用户单击submit时运行?

如果它在用户单击“提交”时运行,那么它如何知道要运行的代码部分,因为此代码action=""为空,因此它如何知道需要运行第一个块还是第二个块

0 个答案:

没有答案