我有一个asp.net Web应用程序。列表框具有一个字段的数据源。它有10个项目。我希望用户能够为每个(或特定的)项添加注释。所以我想要一个包含2个字段的列表框或组合框。一个字段将是项目列表,另一个字段将为空白并允许用户输入。
这种控制是否已经存在?解决方案可以是c#,asp.net,jquery。
我知道这可以通过gridview完成,但是请您告诉我如何才能使一个字段只读,另一个字段可编辑?
答案 0 :(得分:4)
在我看来,使用表格要简单得多。将数据项放在第一列中,将文本字段放在第二列中。
<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 :(得分:3)
根据@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
}
的更新... 强> 的
使用DropdownList和textBox的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