【问题标题】:Set dropdown list value in EditItemTemplate of datalist在 datalist 的 EditItemTemplate 中设置下拉列表值
【发布时间】:2017-08-18 13:06:11
【问题描述】:

我有一个 asp:datalist,它允许用户进入编辑模式来编辑数据。我在 edititemtemplate 中有一个下拉列表,我正在尝试根据数据源中的字段设置所选值,但不知道如何执行此操作。这是我的 asp.net 代码示例:

<asp:DataList ID="dlOtherSubjects" runat="server" DataKeyField="ID" EnableViewState="True" 
         OnEditCommand="Edit_Command"  
         OnUpdateCommand="Update_Command"
         OnCancelCommand="Cancel_Command" 
         OnDeleteCommand="Delete_Command" 
         Width="700">
        <ItemTemplate>
            <table width="700"  cellspacing="2" cellpadding="2">
            <tr>
            <td width="350" class="Label">Type</td>
            <td width="350"><%#Eval("Type")%></td>
            </tr>
            </table>
            <table width="700">
            <tr>
            <td align="left"> 
            <asp:ImageButton ImageUrl="images/Editbutton.png"  CommandName="Edit" 
                            Runat="server" ID="lbedit" />
            <asp:ImageButton ImageUrl="images/Deletebutton.png"  CommandName="Delete" 
                            Runat="server" ID="lbdelete" />
            </td>                  
            </tr>                
            </table>                 
        </ItemTemplate>
        <EditItemTemplate>
            <table width="700" bgcolor="#BFD8D9" cellspacing="2" cellpadding="2">
            <tr>
            <td class="Label">Type</td>
                <asp:DropDownList ID="ddlEType" runat="server">
                <asp:ListItem Value="Household/Family Member" Text=" Family/Household Member"/>
                <asp:ListItem Value="Significant Other" Text="Significant Other (Non Household)"/>
            </asp:DropDownList> 
            </td>
            </tr>
            </table>  
            <br />
            <table width="700">
            <tr>
            <td align="left">
            <asp:ImageButton ImageUrl="images/Updatebutton.png" CommandName="Update" 
                          Runat="server" ID="lbupdate" />
            <asp:ImageButton ImageUrl="images/Cancelbutton.png" CommandName="Cancel" 
                          Runat="server" ID="lbcancel" />              
            </td>
            </tr>
            </table>   
        </EditItemTemplate>
        </asp:DataList>

我找到了一个示例,其中使用 OnRowDataBound 在网格视图中完成此操作来调用子 然后设置下拉列表的值(请参阅here),但是数据列表是否有类似的 OnRowDataBound 对象?

如何在数据列表中实现这一点?我还需要能够为 asp:radiobuttonlist 做类似的事情。

任何帮助将不胜感激。谢谢

【问题讨论】:

    标签: asp.net vb.net datalist


    【解决方案1】:

    你试过 DataList OnItemDataBound 吗?

     <asp:DataList ID="dlOtherSubjects" runat="server" DataKeyField="ID"    EnableViewState="True" 
         OnEditCommand="Edit_Command"  
         OnUpdateCommand="Update_Command"
         OnCancelCommand="Cancel_Command" 
         OnDeleteCommand="Delete_Command" 
         Width="700"
         OnItemDataBound="Item_Bound"
        >
    
    
      protected void Item_Bound(Object sender, DataListItemEventArgs e)
      {
         if (e.Item.ItemType == ListItemType.Item || 
             e.Item.ItemType == ListItemType.AlternatingItem)
         {
            var yourLabel = (Label)e.Item.FindControl("Label");
            //add your logic
          }
    
      }
    

    【讨论】:

    • 是的。我在发布后发现了这一点,但 stackoverflow 不允许我发布我的解决方案。此解决方案按我的意愿工作。
    猜你喜欢
    • 2012-08-28
    • 1970-01-01
    • 2011-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多