c# - 子控件可以使用其父控件的数据源吗?

标签 c# asp.net drop-down-menu

我有以下标记:

<div class="section">
    <p runat="server" id="sectionName"></p>
</div>
<div class="label">
    <div class="activity-header">Activity</div>
    <div class="status-header">Status</div>
    <div class="comment-header">Comment</div>
</div>
<asp:Repeater ID="rptActivity" runat="server">
    <ItemTemplate>
        <div class="under-label">
            <div class="activity">
                <%#Eval("ActivityName")%>
                <input type="hidden" name="activityId" value='<%#Eval("ActivityId")%>' />
            </div>

            <div class="status">
                <asp:DropDownList ID="ddlStatuses" DataValueField="Id" DataTextField="Name" DataSourceID="SqlDataSource1" runat="server"></asp:DropDownList>
            </div>
            <div class="comment">
                <textarea name="comments" cols="35" rows="3" name="comment" style="float: left; margin: 0px 0px 0px 25px; font-family: Geneva, Arial, Helvetica, sans-serif;"><%#Eval("Comment")%></textarea>
            </div>
        </div>
    </ItemTemplate>
</asp:Repeater>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:PhumafConnectionString %>" SelectCommand="SELECT * FROM [Status]">
</asp:SqlDataSource>

rptActivity Repeater 的数据源是 List,Helper 定义如下:

public class Helper
{
    public string ActivityName { get; set; }
    public long ActivityId { get; set; }
    public long StatusId { get; set; }
    public string Comment { get; set; }
}

如您所见,我将相关字段绑定(bind)到实体的属性,并将所有 ddlStatuses 绑定(bind)到一个返回所有状态的数据源。但是,由于这是一个更新屏幕,我想拥有之前选择的状态选中,我通过 Helper 实体的 StatusId 属性获得了该 Id。

尝试将 ddlStatuses 的 SelectedValue 设置为 <%# Eval("StatusId") %>但它引发了一个异常,我只能从控件绑定(bind)到的数据源调用 Prop 。

基本上我有 StatusIds 我需要在 ddlStatuses 中选择它们。

我该怎么做?

编辑:

我忘了提到我想到的解决方案之一是包括 List<Status>作为助手类中的一个属性,这样我将拥有 statusId 以及所有其他状态,但是如果我不能使用父级的数据源,那将不起作用。

最佳答案

关于c# - 子控件可以使用其父控件的数据源吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13830676/

相关文章:

c# - 从两个单独的集合中配对有限数量的随机元素的有效方法

c# - asp.net C#上传大文件并处理

ASP.NET 成员(member)资格/SQLMembershipProvider 源代码

c# - Soundex 算法的一些变化

windows-phone-7 - 在 WP7 中实现下拉框的正确方法?

c# - 不同类型泛型类的通用类型

c# - Azure 移动应用身份验证

javascript - Internet Explorer 中的 Ajax 可靠下拉列表问题

php - PHP 脚本中的 HTML 复选框和 Mysql

c# - 如何使用类本身作为方法参数?