0

我尝试使用 asp.net 并尝试将数据从一页发布到另一页。在 PHP 中这很容易。我有两个 aspx 网页Page1.aspx 和 Page2.aspx

Page1.aspx 有一个下拉列表,我在其中选择一个选项,然后单击提交按钮,此值应传递给 Page2.aspx 并由其代码隐藏文件Page2.aspx.cs捕获Request.Form[].

第1页.aspx

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Page1.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
</head>
<body>  

    <form id="form1" runat="server" method="post" action="Page2.aspx">

<asp:DropDownList id="DropDownList1" runat="server" >

<asp:ListItem value="">Select</asp:ListItem>
<asp:ListItem value="1">Hello</asp:ListItem>
<asp:ListItem value="2">World</asp:ListItem>
</asp:DropDownList>



<asp:Button  runat="server"  />  
      </form>  
    </body>
    </html>

如何传递价值Page1.aspx?我在form标签中做错了什么?什么是替代方法?我应该怎么做Page2.aspx才能从下拉列表中捕获选定的值?

4

3 回答 3

3

首先,从 PHP 处理 .net 时有很多不同之处。使用此链接以获得更好的理解。 http://net.tutsplus.com/tutorials/asp-net/asp-net-for-php-developers-part-2/

对于你的问题,改变几件事。

  <form id="form1" runat="server">

1)不要在这里使用动作,我们将使用按钮点击。

<asp:button id="btnSubmit" onclick="btnSubmit_OnClick" Text="Click Me" Runat="server"></asp:button>

2)将按钮更改为此并为按钮单击 Page1.aspx.cs 创建一个事件

protected void btnSubmit_OnClick(object sender, EventArgs e)
{
if (DropDownList1.SelectedItem.Value.Length > 0)
{
                Response.Redirect("Page2.aspx?SelectedValue=" + DropDownList1.SelectedValue);
}
}

3)点击按钮检查是否选择了任何值,如果选择了值并通过QueryString将其传递到第二页。

在 Page2.aspx.cs 上

    protected void Page_Load(object sender, EventArgs e)
    {
          string v = Request.QueryString["SelectedValue"];
     }
于 2012-12-11T10:12:02.270 回答
0

当您转到另一个页面时,您可能希望捕获用户的选择并传递它。取选定的值并将其放在页面传输后可以到达的位置,例如查询字符串或其他内容。然后,在另一端使用那几天。

于 2012-12-11T09:40:07.843 回答
0

您可以从使用 <select> 而不是 <asp:DropDownList> 开始。如果控件是数据绑定的,您可以使用 <asp:Repeater> 打印出 <option> 元素的列表

于 2012-12-11T09:46:37.183 回答