【问题标题】:dropdown list in edit and read-only mode编辑和只读模式下的下拉列表
【发布时间】:2010-10-11 15:11:59
【问题描述】:

您好,我有一个处于编辑模式和只读模式的下拉列表。如果用户上传图片,我希望他们为上传的图片选择一个类别并将其显示在网格视图中,如下所示。(见下图)。 当我在编辑和项目模板模式中包含“SelectedValue='

当我从编辑和项目模板中删除“SelectedValue='

我希望在上传图片并选择 i 类别时显示在 gridview 上。错误信息的代码如下:

            <EditItemTemplate>
                <asp:DropDownList ID="pictureEditCategories" runat="server" 
                    AppendDataBoundItems="True"
              DataSourceID="categoriesDataSource" 
                    DataTextField="Name" DataValueField="CategoryID" 
                    SelectedValue='<%# Bind("CategoryID") %>' ValidationGroup="PictureEdit" >
                    <asp:ListItem Value="" Text="--No Category -- "/>
                </asp:DropDownList>
            </EditItemTemplate>

            <ItemTemplate>
                <asp:DropDownList ID="PictureReadOnlyCategories" runat="server" 
                    AppendDataBoundItems="True" DataSourceID="categoriesDataSource" 
                    DataTextField="Name" DataValueField="CategoryID" Enabled="False" 
                    SelectedValue='<%# Bind("CategoryID") %>' ValidationGroup="PictureEdit" 
                     >
                    <asp:ListItem Value="">-- No Category --</asp:ListItem>
                </asp:DropDownList>
            </ItemTemplate>
        </asp:TemplateField>  
        <asp:TemplateField HeaderText="Title" SortExpression="Title">
            <EditItemTemplate>
                <asp:TextBox ID="TextBox1" runat="server" EnableViewState="False" 
                    Text='<%# Bind("Title") %>'></asp:TextBox>
                <asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" 
                    ControlToValidate="TextBox1" Display="Dynamic" 
                    ErrorMessage="must enter a title" ValidationGroup="PictureEdit"></asp:RequiredFieldValidator>
            </EditItemTemplate>
            <ItemTemplate>
                <asp:Label ID="Label1" runat="server" Text='<%# Bind("Title") %>'></asp:Label>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Description" SortExpression="Description">
            <EditItemTemplate>
                <asp:TextBox ID="TextBox2" runat="server" Columns="25" Rows="4" 
                    Text='<%# Bind("Description") %>' TextMode="MultiLine"></asp:TextBox>
                <asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server" 
                    ControlToValidate="TextBox2" Display="Dynamic" 
                    ErrorMessage="you must enter a description" ValidationGroup="PictureEdit"></asp:RequiredFieldValidator>
            </EditItemTemplate>
            <ItemTemplate>
                <asp:Label ID="Label2" runat="server" Text='<%# Bind("Description") %>'></asp:Label>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Date Added" SortExpression="UploadedOn">
            <EditItemTemplate>
                <asp:Label ID="Label4" runat="server" Text='<%# Bind("UploadedOn") %>'></asp:Label>
            </EditItemTemplate>
            <ItemTemplate>
                <asp:Label ID="Label3" runat="server" Text='<%# Bind("UploadedOn") %>'></asp:Label>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:ImageField DataImageUrlField="PictureID" 
            DataImageUrlFormatString="~/UploadedImages/{0}.jpg" HeaderText="Image" 
            ReadOnly="True">
            <ControlStyle Width="100px" />
        </asp:ImageField>
    </Columns>
    <EditRowStyle BackColor="#2461BF" />
    <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
    <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
    <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
    <RowStyle BackColor="#EFF3FB" />
    <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
    <SortedAscendingCellStyle BackColor="#F5F7FB" />
    <SortedAscendingHeaderStyle BackColor="#6D95E1" />
    <SortedDescendingCellStyle BackColor="#E9EBEF" />
    <SortedDescendingHeaderStyle BackColor="#4870BE" />
</asp:GridView>

当我从项目中删除 SelectedValue='' 并编辑模板时,我得到下图的结果。 请我会感谢你的帮助。

由于我还在学习 ASP.net,请您可以编辑代码或向我解释一下

【问题讨论】:

    标签: asp.net


    【解决方案1】:

    问题已回答

    您有一个使用包含两个参数的参数化查询定义的数据源:

    @CategoryID @用户ID

    但是,您似乎只通过控制参数填充其中一个参数。

    解决这个问题应该很容易,因为您已经从其他数据源中的查询字符串变量中提取了用户 ID。您应该能够将 QueryStringParameter 复制到您的照片数据源的 SelectParameters 列表中。突出显示如下:

    您还可以处理数据源的 Selecting 事件并以编程方式在查询中设置 UserID,但上述选项是最简单的。我只是想让你知道你所有的选择。

    【讨论】:

    • 为了帮助其他可能与您有类似问题的人,是否可以提供您发现的解决方案?
    • 选择参数>
    • 我在 /> 见上面的解释
    猜你喜欢
    • 2015-09-13
    • 2017-11-26
    • 2014-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多