使用POST方法将DropDownList中的值传递给其他aspx页面

时间:2012-12-11 09:24:33

标签: c# asp.net post

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

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

Page1.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中如何从下拉列表中捕获所选值?

3 个答案:

答案 0 :(得分:2)

首先,从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"];
     }

答案 1 :(得分:0)

您希望捕获用户的选择并在转到其他页面时将其传递。获取所选值并将其放在页面传输之后可以到达的地方,如查询字符串或其他内容。然后,在另一端使用那些日子。

答案 2 :(得分:0)

您可以先使用&lt; select&gt;而不是&lt; asp:DropDownList&gt;。如果控件是数据绑定,则可以使用&lt; asp:Repeater&gt;打印出&lt; option&gt;列表元素