65.9K
CodeProject 正在变化。 阅读更多。
Home

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

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0投票)

2013 年 10 月 11 日

CPOL

1分钟阅读

viewsIcon

11858

以下示例演示如何使用 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" 的值。

祝您编码愉快。

© . All rights reserved.