【问题标题】:How to select an option from a dropdown list in one webform and view the result in a gridview in another webform?如何从一个网络表单的下拉列表中选择一个选项并在另一个网络表单的网格视图中查看结果?
【发布时间】:2013-07-05 09:03:51
【问题描述】:

这是我的项目,我使用的是 Visual Studio 2010,我的编码语言是 vb。我是新手,可以肯定地说我还不太了解。

我有一个登录页面,部门负责人在其中输入他的详细信息(员工编号,员工姓名),选择他的部门并提交信息以在其他 Web 表单中查看结果,即他部门下的所有员工为公司工作的所有员工。

因为我不知道代码,所以我在 gridview 中获取每个部门的所有员工,而不是获取从下拉列表中选择的部门的员工。

这是我的第一页代码

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="login.aspx.vb" Inherits="login" %>

<!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">
<title></title>
<style type="text/css">
.style1
{
width: 1179px;
height: 106px;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>

<br />
<img alt="iocl" class="style1" src="Images/materials_hrd.bmp" /><br />
<br />
<br />
<br />
</div>
<asp:Label ID="Label1" runat="server" Text="Employee Name"></asp:Label>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<br />
<br />
<asp:Label ID="Employee_Number" runat="server" Text="Employee Number"></asp:Label>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<br />
-<br />
<asp:Label ID="Label2" runat="server" Text="Department"></asp:Label>
<asp:DropDownList ID="DropDownList1" runat="server">
<asp:ListItem>Information Systems</asp:ListItem>
<asp:ListItem>Human Resources</asp:ListItem>
<asp:ListItem>Resource &amp; Development</asp:ListItem>
<asp:ListItem>Finance</asp:ListItem>
<asp:ListItem>Pipelines</asp:ListItem>
<asp:ListItem>Marketing</asp:ListItem>
</asp:DropDownList>
<br />
<br />
<br />
<br />
<asp:Button ID="Button1" runat="server" Text="Submit" />
</form>
</body>
</html>

这是第二页的代码

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="HODLogin.aspx.vb" Inherits="HODLogin" %>

<!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">
<title></title>
<style type="text/css">
.style1
{
width: 1259px;
height: 105px;
margin-top: 0px;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>

<br />
<br />
<img alt="iocl" class="style1" src="Images/materials_hrd.bmp" /><br />
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<br />
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
CellPadding="4" DataKeyNames="ID" DataSourceID="SqlDataSource1" 
ForeColor="#333333" GridLines="None" Height="195px" ShowHeaderWhenEmpty="True" 
Width="1125px">
<AlternatingRowStyle BackColor="White" />
<Columns>
<asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" 
ReadOnly="True" SortExpression="ID" />
<asp:BoundField DataField="Employee Number" HeaderText="Employee Number" 
SortExpression="Employee Number" />
<asp:BoundField DataField="Employee Name" HeaderText="Employee Name" 
SortExpression="Employee Name" />
<asp:BoundField DataField="Department" HeaderText="Department" 
SortExpression="Department" />
<asp:BoundField DataField="Grade" HeaderText="Grade" SortExpression="Grade" />
<asp:BoundField DataField="Email" HeaderText="Email" SortExpression="Email" />

</Columns>
<EditRowStyle BackColor="#2461BF" />
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<RowStyle BackColor="#EFF3FB" />
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<SortedAscendingCellStyle BackColor="#F5F7FB" />
<SortedAscendingHeaderStyle BackColor="#6D95E1" />
<SortedDescendingCellStyle BackColor="#E9EBEF" />
<SortedDescendingHeaderStyle BackColor="#4870BE" />
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
ConnectionString="<%$ ConnectionStrings:ConnectionString11 %>" 
ProviderName="<%$ ConnectionStrings:ConnectionString11.ProviderName %>" 
SelectCommand="SELECT * FROM [employee database]"></asp:SqlDataSource>
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<asp:Label ID="lblempno" runat="server" 
Text="Label"></asp:Label>
<asp:Button ID="Button1" runat="server" Text="Submit" />
<br />

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
</asp:UpdatePanel>
    </div>
</form>
</body>
</html>

请告诉我过程和代码以及放在哪里,我对这一切都不是很熟悉。有点紧急。

【问题讨论】:

    标签: asp.net vb.net gridview drop-down-menu


    【解决方案1】:

    您可以只将选定的项目文本存储在 onw 变量中,如下所示:

    dim selText as string = DropDownList1.SelectedItem.Text
    

    然后单击提交按钮,执行您所需的任务,然后将页面与部门名称一起重定向到另一个页面。如下代码:

     Response.Redirect("Page2.aspx?department=" + selText)
    

    在第二页,即 Page2.aspx 上,只需在查询字符串中接收此值,使用下面的代码.. 无论在页面加载时还是在您需要的地方有必要。

     If Request.QueryString("department") <> Nothing Then
      dim departmt as string = Request.QueryString("department")
     End If
    

    并在您的数据库查询中使用上述变量的值,并将相关数据获取到上一个表格中选择的部门。

    希望对你有所帮助。 :)

    【讨论】:

      【解决方案2】:

      您还可以在会话中保存选定的项目文本。之后,您可以从项目中的任何页面获取此值:

      Session("department") = DropDownList1.SelectedItem.Text
      

      您也可以直接在 Page2 上的 SqlDataSource 中使用此值:

      <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
      ConnectionString="<%$ ConnectionStrings:ConnectionString11 %>" 
      ProviderName="<%$ ConnectionStrings:ConnectionString11.ProviderName %>" 
      SelectCommand="SELECT * FROM [employee database] WHERE Department LIKE @depart">
      <SelectParameters>
              <asp:SessionParameter DefaultValue="%" Name="depart" SessionField="user" 
                  Type="string" />
          </SelectParameters>
      </asp:SqlDataSource>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-06-11
        • 1970-01-01
        • 2013-05-23
        • 2011-06-07
        • 2020-11-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多