N
npei72
I have a simple Formview like this:
<%@ Page Language="C#" EnableViewState="true" AutoEventWireup="true"
CodeFile="HelloWorld.aspx.cs" Inherits="_HelloWorld"%>
<html>
<body>
<form runat="server">
<asp:FormView DataSourceID="myODS"
ID="ItemFormView"
runat="server">
<InsertItemTemplate>
<aspropDownList ID="myDDL" runat="server"></
aspropDownList>
</InsertItemTemplate>
</asp:FormView>
<asp:ObjectDataSource ID="myODS" runat="server" >
<SelectParameters>
<asp:ControlParameter ControlID="faa" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:TextBox ID="faa" runat="server" visible="false"></
asp:TextBox>
</form>
</body>
</html>
and a codebehind file
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class _HelloWorld : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
ItemFormView.ChangeMode(FormViewMode.Insert);
if (!IsPostBack)
PopulateDDL();
}
private void PopulateDDL()
{
DropDownList ddl =
(DropDownList)ItemFormView.FindControl("myDDL");
ddl.Items.Add("aaa");
ddl.Items.Add("bbb");
ddl.Items.Add("ccc");
}
}
When I run this page, the dropdown list is expected to be populated,
but it's not. However, if I remove the line
<asp:ControlParameter ControlID="faa" />
, it then works. It also works perfectly if using other type of
parameter, like
<asparameter Name="woo"/>
So, I don't understand what happen behind the scene. Any idea???
Thanks in advance!
Nate
<%@ Page Language="C#" EnableViewState="true" AutoEventWireup="true"
CodeFile="HelloWorld.aspx.cs" Inherits="_HelloWorld"%>
<html>
<body>
<form runat="server">
<asp:FormView DataSourceID="myODS"
ID="ItemFormView"
runat="server">
<InsertItemTemplate>
<aspropDownList ID="myDDL" runat="server"></
aspropDownList>
</InsertItemTemplate>
</asp:FormView>
<asp:ObjectDataSource ID="myODS" runat="server" >
<SelectParameters>
<asp:ControlParameter ControlID="faa" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:TextBox ID="faa" runat="server" visible="false"></
asp:TextBox>
</form>
</body>
</html>
and a codebehind file
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class _HelloWorld : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
ItemFormView.ChangeMode(FormViewMode.Insert);
if (!IsPostBack)
PopulateDDL();
}
private void PopulateDDL()
{
DropDownList ddl =
(DropDownList)ItemFormView.FindControl("myDDL");
ddl.Items.Add("aaa");
ddl.Items.Add("bbb");
ddl.Items.Add("ccc");
}
}
When I run this page, the dropdown list is expected to be populated,
but it's not. However, if I remove the line
<asp:ControlParameter ControlID="faa" />
, it then works. It also works perfectly if using other type of
parameter, like
<asparameter Name="woo"/>
So, I don't understand what happen behind the scene. Any idea???
Thanks in advance!
Nate