使用 Razor 语法在 2 个网页之间传递值





0/5 (0投票)
以下示例演示如何使用 Request QueryString 在两个 CSHTML 页面之间传递值。我们有 2 个网页,Page.cshtml
以下示例演示如何使用 Request QueryString 在两个 CSHTML 页面之间传递值。
我们有 2 个网页,分别是 Page.cshtml 和 Page2.cshtml。在 Page.cshtml 中,将有一个文本框和一个按钮,无论用户在文本框中输入什么,都将传递到 Page2.cshtml。
这是 Page.cshtml 上的代码。我们使用 Request.Form 捕获用户从文本框输入的内容。然后,该值存储在变量“formValue”中,该变量将通过 Response.Redirect 传递到 Name 下。
@{ 
    var formValue = Request.Form["myTextBox"];  
    if (IsPost) 
     { 
         
        Response.Redirect("Page2.cshtml?name=" + formValue); 
         
     } 
} 
<!DOCTYPE html> 
 
<html lang="en"> 
    <head> 
        <meta charset="utf-8" /> 
        <title>Page 1</title> 
    </head> 
    <body> 
 <form action="" method="post"> 
        <input type="text" id="myTextBox" name="myTextBox"/> 
                    <input type="submit" value="submit"/> 
</form>          
    </body> 
</html>
这是 Page2.cshtml 上的代码,请注意之前的代码 Response.Redirect("Page2.cshtml?name=" + formValue); 我们实际上是将值传递给名为“NAME”的变量。因此,在 Page2.cshtml 中,我们将捕获 NAME 下的值。我们使用 Request.QueryString 从 URL 中捕获值,该 URL 将是 https:///page2.cshtml?name=WHATEVERUSERINPUT。
@{ var queryValue = Request.QueryString["name"]; } <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <title>Page 2</title> </head> <body> @queryValue </body> </html>
对于此示例,queryValue 将返回 "WHATEVERUSERINPUT" 的值。
祝您编码愉快。

