我有一个下拉列表,其中数据从表绑定,我有另一个GridV 其中将填充DropDown列表中存在的相同数据。 数据通过c#中的代码绑定,但无法编辑。
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
var userid = (Guid)Membership.GetUser().ProviderUserKey;
ClientAdminMultiView.SetActiveView(MasterFundsView);
List<T_W_Company> allowedCompanies = Source.aspnet_AdminUserClientMapping.Where(x => x.UserID == userid).Select(p => p.T_W_Company).ToList();
CompanyDropDown.DataSource = allowedCompanies;
CompanyDropDown.DataBind();
GridView1.DataSource = allowedCompanies;
GridView1.DataBind();
}
ClearErrors();
}
下面是我尝试将数据绑定到gridview的asp代码, 这是一个模板字段。
<asp:EntityDataSource ID="CompanyDataSource" runat="server" ConnectionString="name=ReportsEntities"
ContextTypeName="Nirvana.Factory.ReportsDbModel.ReportsEntities" DefaultContainerName="ReportsEntities"
EnableFlattening="False" EnableDelete="True" EnableInsert="True" EnableUpdate="True"
EntitySetName="T_W_Company" OnDeleted="MasterFundsDataSource_Deleted" OnDeleting="MasterFundsDataSource_Deleting"
OnInserted="MasterFundsDataSource_Inserted" OnInserting="MasterFundsDataSource_Inserting"
OnUpdated="MasterFundsDataSource_Updated" OnUpdating="MasterFundsDataSource_Updating" AutoGenerateWhereClause="true">
<WhereParameters>
<asp:ControlParameter Name="CompanyID" ControlID="CompanyDropDown" PropertyName="SelectedValue"
DbType="Int64" />
</WhereParameters>
</asp:EntityDataSource>
答案 0 :(得分:1)
您没有发布标记。你在使用TemplateField / ItemTemplate吗?同样在您的代码中,您看起来只是调用存储过程和数据绑定 - 与编辑无关。
以下帖子有一个很好的可编辑GridView示例。
修改强>
您刚才提到过您正在使用EntityDataSource,但其余的标记位于何处。没有看到一切都很难提供准确的指导。
话虽如此,
您需要将GridView设置为允许编辑。以下帖子有点陈旧,但会引导您完成它。
http://www.c-sharpcorner.com/uploadfile/raj1979/entitydatasource-control-in-Asp-Net-3-5/ http://www.devmanuals.com/tutorials/ms/aspdotnet/entitydatasource.html