我尝试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
中如何从下拉列表中捕获所选值?
答案 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;列表元素