asp.net : список из 2 столбцов с возможностью редактирования

#c# #jquery #asp.net #webforms

#c# #jquery #asp.net #веб-формы

Вопрос:

У меня есть asp.net веб-приложение. список содержит источник данных из одного поля. в нем 10 элементов. я хочу, чтобы пользователь мог добавлять комментарии для каждого (или для определенных) элементов. итак, я хотел бы список или поле со списком с 2 полями. одно поле будет списком элементов, а другое поле будет пустым и позволит пользователю вводить данные.

такой элемент управления уже существует? решением может быть c #, asp.net , jquery.

я понимаю, что это можно сделать с помощью gridview, но не могли бы вы сказать мне, как я могу сделать одно поле доступным только для чтения, а другое поле доступным для редактирования?

Ответ №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>
}
  

Комментарии:

1. извините, я не понимаю, как вы объединяете html и c # 🙂

2. Я думаю, я __ хочет решения для ASP.NET Веб-формы, а не ASP.NET MVC

3. Смотрите ниже, Scorpion предоставил правильное решение для вас, я считаю

4. @lucas я понимаю, что это можно сделать с помощью gridview, но не могли бы вы сказать мне, как я могу сделать одно поле доступным только для чтения, а другое поле доступным для редактирования?

5. @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

Комментарии:

1. я понимаю, что это можно сделать с помощью gridview, но не могли бы вы сказать мне, как я могу сделать одно поле доступным только для чтения, а другое поле доступным для редактирования?

2. Вставьте новый код, обновленный выше, в ваш aspx-файл. Выпадающий список всегда будет доступен только для чтения, а текстовое поле доступно для редактирования.