如何将Dropdownlist控制脚本应用于.aspx页面?

时间:2013-04-16 15:55:18

标签: c# asp.net drop-down-menu site.master

我现在正开始深入研究ASP.Net的世界。到目前为止,我一直在使用CSS创建HTML样式的大部分页面,最近我一直在将Site.Master页面应用到我的页面以消除代码。我正在创建一个页面,需要一个下拉列表控件,最终会进入数据库并显示相关信息,但是现在我保持简单,页面只更新为“你选择了第1项”当你选择下拉列表中的项目。问题是,我似乎无法弄清楚如何将脚本应用于页面。

到目前为止,这就是我所拥有的:

<%@ Page Title="Bowtie Performance Parts - Inventory" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
    CodeBehind="parts.aspx.cs" Inherits="WebApplication1._Default"%>

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
<!--Dropdown Menu Setup-->
<head>

</head>
</asp:Content>

<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
    <h1 class="defaultTitle">Parts Catalog</h1>
    <p id="defaultLarge">Please Choose from the list below to get started!</p>

    <center>
        <form id="PartsForm" runat="server">
            <asp:DropDownList id="dropDown2" runat="server">
            <asp:ListItem>Please Choose</asp:ListItem>
            <asp:ListItem disabled="disabled">--Motors--</asp:ListItem>
            <asp:ListItem>4 Cylinder</asp:ListItem>
            <asp:ListItem>6 Cylinder</asp:ListItem>
            <asp:ListItem>8 Cylinder</asp:ListItem>
            <asp:ListItem disabled="disabled">--Intakes--</asp:ListItem>
            <asp:ListItem disabled="disabled">--Forced Induction--</asp:ListItem>
            <asp:ListItem>Superchargers</asp:ListItem>
            <asp:ListItem>Turbos</asp:ListItem>
            </asp:DropDownList></form>
   </center>
</asp:Content>

页面样式并按预期显示,下拉菜单显示并按预期工作,但现在我正在尝试找到放置脚本的位置,以便当我在列表中选择项目时,它会显示“你选择了项目#”。

<script  runat="server">
Sub submit(sender As Object, e As EventArgs)
   mess.Text="You selected " & dropDown2.SelectedItem.Text
End Sub
</script>

将此脚本放在代码中的任何位置会导致错误,并且页面无法正确编译。我是使用C#和ASP.net的新手,我不确定我是否掌握了如何做到这一点的逻辑。我已经看了很多这样的例子:

<script  runat="server">
Sub submit(sender As Object, e As EventArgs)
   mess.Text="You selected " & drop1.SelectedItem.Text
End Sub
</script>

<!DOCTYPE html>
<html>
<body>

<form runat="server">
<asp:DropDownList id="drop1" runat="server">
<asp:ListItem>Item 1</asp:ListItem>
<asp:ListItem>Item 2</asp:ListItem>
<asp:ListItem>Item 3</asp:ListItem>
<asp:ListItem>Item 4</asp:ListItem>
<asp:ListItem>Item 5</asp:ListItem>
<asp:ListItem>Item 6</asp:ListItem>
</asp:DropDownList>
<asp:Button Text="Submit" OnClick="submit" runat="server"/>
<p><asp:label id="mess" runat="server"/></p>
</form>

</body>
</html>

但是以这种方式应用脚本会阻止我引用Site.Master页面,该页面包含Banner,NavBar和指向整个站点样式的.css文件的链接(在所有网页上保持一致)。

如何做到这一点?

提前致谢, 泰勒迪恩

1 个答案:

答案 0 :(得分:0)

在您的代码中使用drop1_SelectedIndexChanged事件

Protected Sub drop1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles drop1.SelectedIndexChanged

  mess.text = drop1.SelectedValue     

End Sub

这是在VB中,但您可以将其转换为C#。