首页 > 解决方案 > @{...} 中的代码是在表单提交时运行还是一直运行

问题描述

我是 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=""是空的,所以它如何知道它是否需要运行第一个块或第二个块

标签: asp.net

解决方案


推荐阅读