我继承了一些旧代码,无法从头开始将其重写为可以工作的现代代码。
我在列表视图中有一个下拉列表,我似乎无法选择它的选定值,由于某种原因,它始终为null。
我尝试做一些研究,更改事件类型以插入已创建的事件,但仍然无法正确触发。
这是我正在使用的代码:
.ASCX:
skin
ASCX.cs:
<asp:ListView ID="ListView1" runat="server" DataKeyNames="ImageID" DataSourceID="LinqDataSource1" InsertItemPosition="LastItem" OnItemCreated="ListView1_ItemCreated">
<ItemTemplate>
<tr style="line-height: 5px !important;">
<td>
<asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="Edit" /> <asp:Button ID="DeleteButton" CssClass="DeleteButton" runat="server" CommandName="Delete" Text="Delete" />
</td>
<td><asp:Image ID="ImageLabel" BorderWidth="1" Width="200" runat="server" ImageUrl='<%# ImageUrl(Eval("FileID")) %>' /></td>
<td><asp:Label ID="TitleLabel" runat="server" Text='<%# Eval("Title") %>' /></td>
<td><asp:Label ID="DescriptionLabel" runat="server" Text='<%# Eval("Description") %>' /></td>
<td><asp:Label ID="AltLabel" runat="server" Text='<%# Eval("Alt") %>' /></td>
</tr>
</ItemTemplate>
<EditItemTemplate>
<tr style="">
<td colspan="2">
<table>
<tr><td>Title</td><td><asp:TextBox ID="TextBox15" runat="server" Text='<%# Bind("Title") %>' /></td></tr>
<tr><td>Description</td><td><asp:TextBox ID="TextBox18" runat="server" Text='<%# Bind("Description") %>' /></td></tr>
<tr><td>Alt</td><td><asp:TextBox ID="TextBox21" runat="server" Text='<%# Bind("Alt") %>' /></td></tr>
<tr><td>Image:</td><td><asp:DropDownList ID="ImageList" runat="server"></asp:DropDownList></td></tr>
</table>
<asp:Button ID="UpdateButton" runat="server" CommandName="Update" Text="Update" /> <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="Cancel" />
</td>
</tr>
</EditItemTemplate>
<EmptyDataTemplate>
<table runat="server" style="">
<tr>
<td>No data was returned.</td>
</tr>
</table>
</EmptyDataTemplate>
<InsertItemTemplate>
<tr style="">
<td colspan="2">
<p></p>
<input id="InsertShow" type="button" value="Insert" title="Insert" />
<div id="InsertWrapper">
<h3>New Image</h3>
<table>
<tr><td>Title</td><td><asp:TextBox ID="TextBox15" runat="server" Text='<%# Bind("Title") %>' /></td></tr>
<tr><td>Description</td><td><asp:TextBox ID="TextBox18" runat="server" Text='<%# Bind("Description") %>' /></td></tr>
<tr><td>Alt</td><td><asp:TextBox ID="TextBox21" runat="server" Text='<%# Bind("Alt") %>' /></td></tr>
<tr><td>Image:</td><td><asp:DropDownList ID="ImageList" runat="server"></asp:DropDownList></td></tr>
</table>
<asp:Button ID="InsertButton" runat="server" CommandName="Insert" Text="Insert" /> <asp:Button ID="Button1" runat="server" CssClass="InsertCancel" CommandName="Cancel" Text="Clear" />
</div>
</td>
</tr>
</InsertItemTemplate>
<LayoutTemplate>
<table runat="server">
<tr runat="server">
<td runat="server">
<table id="itemPlaceholderContainer" runat="server" border="0" style="width:650px;">
<tr runat="server" style="">
<th runat="server"></th>
<th runat="server">Image</th>
<th runat="server">Title</th>
<th runat="server">Description</th>
<th runat="server">Alt</th>
</tr>
<tr id="itemPlaceholder" runat="server"></tr>
</table>
</td>
</tr>
<tr runat="server">
<td runat="server" style=""></td>
</tr>
</table>
</LayoutTemplate>
</asp:ListView>
最初设置的是图像选择器,他们可以在其中写标题,其他一些文本和替代文本。然后从下拉列表中选择批准的图像。
我的所有文字都可以正常工作,但是下拉图像没有被拾取。