从下拉菜单控制ASP文本框模板

时间:2014-08-07 11:40:56

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

我试图让一个下拉列表将模板插入到文本框中,理想情况下不是通过事件或类似的方式只使用数据库的硬编码,除非我可以通过数据库保持样式(字体颜色等)

文本框和下拉列表位于updatepanel的{​​{1}}范围内。我想添加更多功能,以便他们不必在文本框中手动输入文本,当他们从下拉列表中选择一个选项时,它会自动使用相关选项填充文本框。

我无法将下拉列表中的listview功能与文本框相关联。

任何指南或帮助都将不胜感激。

我的asp代码:

onClick

背后的VB.NET代码:

<asp:panel runat="server" ID="Panel1">
 <table id="insert" runat="server">
    <tr style="">
        <td>
            <asp:Button ID="InsertButton" runat="server" CommandName="Insert" Text="Insert" />
            <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="Clear" />
        </td>
    </tr>
    <tr >
        <td>
            <asp:TextBox ID="TxtBx" runat="server" Text='<%# Bind("Details")%>' Width="100%" TextMode="MultiLine" Rows="20" />
        </td>
        <td>
            <asp:DropDownList ID="DDL" runat="server" AutoPostBack="True">
                <asp:ListItem>Select</asp:ListItem>
                <asp:ListItem> Template One </asp:ListItem>
                <asp:ListItem> Template Two </asp:ListItem>
            </asp:DropDownList>
        </td>
    </tr>
</table>

更新:

我已经使用VB将ddl粘贴到文本框中,是否可以使用模板(只是文本内部)获取.txt文件并将其粘贴到文本框中。那么,DDL Item模板1链接到textfile1.txt,如果选择了模板1,相应的文本文件的文本将被粘贴?

更新2:

单击ddl时,我已将事件处理程序粘贴到文本框中,但是我不知道如何从下拉列表引用一个项目来引用特定文件,以便上传正确的文件项目选择。

处理程序代码:

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
    If DDL.Text <> "Select" Then
        TxtBx.Text = DDL.Text
    End If
End Sub

    Protected Sub DDL_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DDL.SelectedIndexChanged
    TxtBx.Text = DDL.Text
End Sub

1 个答案:

答案 0 :(得分:0)

您需要在ASP中使用值,以便后面的代码可以将其与此关联并选择模板文件,但是我不知道这是否会提供您需要的布局。

使用VS2013尝试使用Chrome进行测试

ASP:

        <asp:DropDownList ID="DDL" runat="server" Width="80px" AutoPostBack="true" >
            <asp:ListItem>Select</asp:ListItem>
            <asp:ListItem Value="1">Option 1</asp:ListItem>
            <asp:ListItem Value="2">Option 2</asp:ListItem>
        </asp:DropDownList>

VB背后的代码:

        Protected Sub DDL_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DDL.SelectedIndexChanged
    If DDL.SelectedValue = 1 Then
        TxtBx.Text = My.Computer.FileSystem.ReadAllText("E:\Users\ben\DummyTemplate.txt")
    ElseIf DDL.SelectedValue = 2 Then
        TxtBx.Text = My.Computer.FileSystem.ReadAllText("E:\Users\ben\DifferentTemplate.txt")
    End If