#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-файл. Выпадающий список всегда будет доступен только для чтения, а текстовое поле доступно для редактирования.