我有一个表单视图,在编辑模板中我有两个下拉菜单。 使用允许值列表显式设置下拉1。 它也设置为autopostback。 下拉2是数据绑定到objectdatasource,此objectdatasource使用第一个下拉列表作为其中一个参数。 (想法是下拉1限制下拉2中显示的内容)

在项目的编辑模板的第一个视图上,它工作正常。 但如果下拉列表1选择了不同的项目,则会回发并生成错误

数据绑定方法(如Eval(),XPath()和Bind())只能在数据绑定控件的上下文中使用。

这是下拉列表#2:

<asp:DropDownList ID="ProjectList" runat="server" SelectedValue='<%# Bind("ConnectToProject_ID","{0:D}") %>' DataSourceID="MasterProjectsDataSource2" DataTextField="Name" DataValueField="ID" AppendDataBoundItems="true">
      <asp:ListItem Value="0" Text="{No Master Project}" Selected="True" />
</asp:DropDownList>

这是MasterProjectDataSource2:

<asp:ObjectDataSource ID="MasterProjectsDataSource2" runat="server" 
            SelectMethod="GetMasterProjectList" TypeName="WebWorxData.Project" >
            <SelectParameters>
                <asp:ControlParameter ControlID="RPMTypeList" Name="RPMType_ID" 
                    PropertyName="SelectedValue" Type="Int32" />
            </SelectParameters>
        </asp:ObjectDataSource>

任何有关如何使其发挥作用的帮助都会受到极大关注。

===============>>#1 票数:3

我在FormView中遇到类似的绑定下拉列表问题。 我通过在formview的“OnDataBound”中手动设置所选值来解决它。

(不知道从哪里获得ConnectToProject_ID)

FormView fv = (FormView)sender;
DropDownList ddl = (DropDownList)fv.FindControl("ProjectList");
ddl.SelectedValue = String.Format("{0:D}", ConnectToProject_ID);

准备好保存时,使用“OnItemInserting”事件:

FormView fv = (FormView)sender;
DropDownList ddl = (DropDownList)fv.FindControl("ProjectList");
e.Values["ConnectToProject_ID"] = ddl.SelectedValue;

或“OnItemUpdating”

准备好保存时,使用“OnItemInserting”事件:

FormView fv = (FormView)sender;
DropDownList ddl = (DropDownList)fv.FindControl("ProjectList");
e.NewValues["ConnectToProject_ID"] = ddl.SelectedValue;

===============>>#2 票数:0

听起来好像控件在回发后没有正确数据绑定。

您是在数据绑定页面中的第一个下拉列表还是在代码隐藏中? 如果是代码隐藏,你每次都在on_init或on_load上进行吗?

可能存在第二个下拉列表的SelectedValue在回发后设置为不存在的项目的问题。

===============>>#3 票数:0

除非您的第二个下拉列表是数据绑定控件(例如,一个Repeater) - 我不确定您要将SelectedValue绑定到哪个。 显然,.NET也不是 - 因为那可能是错误发生的地方。

Connect_ToProjectId应该来自哪里?

  ask by Solmead translate from so

未解决问题?本站智能推荐:

1回复

从下拉菜单中获取值,运行查询并将值添加到formview c#

我有一个asp.net网络表单,其中包含一个formView,3个下拉菜单和一个提交按钮。 下拉菜单从数据库中获取其值。 当用户单击下拉菜单中的“提交”按钮值时,应在我们的查询中运行并在formView中显示结果。 这没有发生。 当我们在callSelectProduct()中提
2回复

FormView与否?

我有一个带有向导控件的ASP.NET页,其中包含几页表单字段。 收集数据并将其从页面后面的代码插入数据库中。 我需要设置此表单,以便您不仅可以插入,还可以编辑记录。 由于表单又长又复杂,所以我宁愿使用现有的表单而不要复制一个表单进行编辑,尤其是因为我想使两种表单完全相同并且必须对二者进行任
2回复

Formview替代?

我想创建一个始终处于编辑模式的表单,但我需要绑定到几个表。 我希望将其显示为一个有凝聚力的页面。 我希望尽可能使用数据绑定并写为尽可能少的代码。 我有什么选择? 基本上FormView看起来像候选人,但我不想要编辑按钮。 我将在一个页面上显示3或4个表格,我想要一个按钮来提交它。
1回复

FormView布局

过去几次使我发疯,但我一直捏造并继续前进。 今天,我想尝试修复它! 我经常创建一个GridView以在插入模式下直接在其下方显示数据和一个FormView ,其中InsertItemTemplate中的控件与GridView的列相对应,以便看起来FormView只是GridView一个空
2回复

FormView中的FileUpload

我在数据库中添加图像URL时遇到问题。我在ASP.Net的formview中使用fileupload方法。我有一个名为duyurular的表可以记录图像URL.BTW,我正在使用SQL Server数据库。 我的问题是;我正在进行流程更新,删除并在FormView中进行公告。我可以使用File
1回复

FormView行数

我创建了一个使用带有Select和Update命令的FormView的应用程序,仅当我将参数传递给它时,formview才会填充,但这是问题所在。 如果我将formview传递给一个参数,但是在我的数据库中有1行以上,我希望能够使用dropdownlist之类的格式来选择哪一行填充了formv
1回复

FormView无法显示

我一直在努力解决这个问题 - 我有一个带有一些文本字段的FormView和一些带有几列的GridView 。 出于某种原因,我的FormView不会显示GridView 我的.aspx文件如下: FormView : GridView : 数据源控件: 任何
3回复

FormView绑定中的DropDownList

我想在下面的代码List<MyIem> dropdownlist绑定到List<MyIem> 。 不使用ObjectDataSource! 如何将其绑定到下拉列表? 在什么情况下? SelectedValue='<%# Bind("Parent
1回复

嵌套的FormView控件

我有一个看起来像这样的asp.net表单... 我想将一个名为“ myControl”的文本TextBox的文本设置为“ myText”。 下面的代码导致t = null ,这将引发“对象引用未设置为对象实例”。 错误。 如何从后面的代码更新此TextBox ?
2回复

使用FormView插入

我试图使用基本的FormView控件插入项目。 我对C#及其控件有点新,所以请耐心等待。 FormView具有标准条目,如: 它还具有对用户隐藏的控件,例如: 这些项我试图在Insert()发生之前修改它们的值,所以我捕获了事件InsertButton_Click():