【问题标题】:asp.net: 2 column listbox with option to editasp.net:带有编辑选项的 2 列列表框
【发布时间】:2011-10-04 15:17:45
【问题描述】:

我有一个 asp.net 网络应用程序。列表框有一个字段的数据源。它有 10 个项目。我希望用户能够为每个(或特定)项目添加评论。所以我想要一个有 2 个字段的列表框或组合框。一个字段将是项目列表,另一个字段将为空白并允许用户输入。

这样的控件是否已经存在?解决方案可以是 c#、asp.net、jquery。

我知道这可以通过 gridview 来完成,但是您能告诉我如何使一个字段只读而另一个字段可编辑吗?

【问题讨论】:

    标签: c# jquery asp.net webforms


    【解决方案1】:

    在我看来,使用表格会简单得多。将数据项放在第一列,将文本字段放在第二列。

    <table>
    @foreach(var item in Model)
    {
    <tr>
    <td>@item.someString //this is the data you want to display
    </td>
    <td>@Html.Editor("YourInputVariableName")
    </td>
    </tr>
    }
    

    【讨论】:

    • 对不起,我不明白你是如何将 html 和 c# 放在一起的:)
    • 我想,我想要 ASP.NET Web 窗体的解决方案,而不是 ASP.NET MVC
    • 见下文,我相信 Scorpion 已经为您提供了正确的解决方案
    • @lucas 我知道这可以用 gridview 来完成,但是你能告诉我如何让一个字段只读而另一个字段可编辑吗?
    • @joshu 我知道这可以用 gridview 来完成,但是你能告诉我如何让一个字段只读而另一个字段可编辑吗?
    【解决方案2】:

    根据@Joshua Smith 的建议...

    ASP.NET

    <table>
           <tr>
               <td>
                   <asp:ListBox ID="ListBox1" runat="server"></asp:ListBox>
               </td>
           </tr>
           <tr>
               <td>
                   <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
               </td>
           </tr>
            <tr>
                <td>
                    <asp:Button ID="Button1" Text="Submit" runat="server"></asp:Button>
                </td>
            </tr>
    </table>
    

    C#

            protected void Page_Load(object sender, EventArgs e)
            {
    
            }
    
            protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
            {
                TextBox1.Text = "";
            }
    
            protected void Button1_Click(object sender, EventArgs e)
            {
                // Save the Text for user entered in Textbox1 for selected Value from List
            }
    

    更新...

    带有下拉列表和文本框的 GridView 控件

            <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
                <Columns>
                    <asp:TemplateField HeaderText="Option">
                        <ItemTemplate>
                            <asp:DropDownList ID="ddl" runat="server" Width="100px">
                            </asp:DropDownList>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Comment">
                       <ItemTemplate>
                            <asp:TextBox runat="server" ID="txt"></asp:TextBox>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>
    

    请检查以下链接,它可能对您有用: http://www.codeproject.com/KB/dotnet/AccessingControlsInsideGr.aspx

    【讨论】:

    • 我知道这可以用 gridview 来完成,但是你能告诉我如何让一个字段只读而另一个字段可编辑吗?
    • 将上面更新的新代码粘贴到您的 aspx 文件中。 DropdownList 将始终是只读的,并且文本框是可编辑的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-13
    • 1970-01-01
    • 1970-01-01
    • 2021-12-15
    • 1970-01-01
    相关资源
    最近更新 更多