stellyuk
asked on
Problem with DropDownList
I have this code:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
PC();
}
}
private void PC()
{
int SID = Int32.Parse(Request.QueryS tring["SID "].ToStrin g());
if (SID > 0)
{
DataTable tbl = PubQrys.SelectedSctr(SID);
if (tbl.Rows.Count == 1)
{
SctrStat Status = PubQrys.GetSctrStat(SID);
DropDownList StatDdl = (DropDownList)SctrFrmVw.Fi ndControl( "StatDdl") ;
StatDdl.Items.Add(new ListItem("Please Select", "0"));
StatDdl.Items.Add(new ListItem("With Client", "1"));
StatDdl.Items.Add(new ListItem("Stored", "2"));
StatDdl.Items.Add(new ListItem("Written Off", "3"));
StatDdl.SelectedValue = Status.sStatus.ToString();
SctrFrmVw.PagerSettings.Vi sible = false;
SctrFrmVw.DataSource = tbl;
SctrFrmVw.DataBind();
}
}
else
{
SctrFrmVw.DataSource = PubQrys.GetAllSctrs();
SctrFrmVw.DataBind();
}
}
I keep getting this error:
Object reference not set to an instance of an object
on this line:
StatDdl.Items.Add(new ListItem("Please Select", "0"));
I think its a problem with this line:
DropDownList StatDdl = (DropDownList)SctrFrmVw.Fi ndControl( "StatDdl") ;
As even when I try and reference a Label with the following code:
Label StatLbl = (Label)SctrFrmVw.FindContr ol("StatLb l");
StatLbl.Text = "BOB";
I get the same error on the StatLbl.Text = "BOB"; line
Any ideas?
Stelly
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
PC();
}
}
private void PC()
{
int SID = Int32.Parse(Request.QueryS
if (SID > 0)
{
DataTable tbl = PubQrys.SelectedSctr(SID);
if (tbl.Rows.Count == 1)
{
SctrStat Status = PubQrys.GetSctrStat(SID);
DropDownList StatDdl = (DropDownList)SctrFrmVw.Fi
StatDdl.Items.Add(new ListItem("Please Select", "0"));
StatDdl.Items.Add(new ListItem("With Client", "1"));
StatDdl.Items.Add(new ListItem("Stored", "2"));
StatDdl.Items.Add(new ListItem("Written Off", "3"));
StatDdl.SelectedValue = Status.sStatus.ToString();
SctrFrmVw.PagerSettings.Vi
SctrFrmVw.DataSource = tbl;
SctrFrmVw.DataBind();
}
}
else
{
SctrFrmVw.DataSource = PubQrys.GetAllSctrs();
SctrFrmVw.DataBind();
}
}
I keep getting this error:
Object reference not set to an instance of an object
on this line:
StatDdl.Items.Add(new ListItem("Please Select", "0"));
I think its a problem with this line:
DropDownList StatDdl = (DropDownList)SctrFrmVw.Fi
As even when I try and reference a Label with the following code:
Label StatLbl = (Label)SctrFrmVw.FindContr
StatLbl.Text = "BOB";
I get the same error on the StatLbl.Text = "BOB"; line
Any ideas?
Stelly
Seems you are unable to find the controls ..
is it possible to post code for aspx?
thanks
is it possible to post code for aspx?
thanks
Hi, post your aspx to see how are your controls declared.
Btw when Page_Load is called the controls have already been rendered to the page so using that event shouldn't be a problem.
Btw when Page_Load is called the controls have already been rendered to the page so using that event shouldn't be a problem.
ASKER
using System;
using System.Data;
using System.Configuration;
using System.Collections;
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 UserControls_SctrDets : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
PC();
}
}
private void PC()
{
int SID = Int32.Parse(Request.QueryS tring["SID "].ToStrin g());
if (SID > 0)
{
DataTable tbl = PubQrys.SelectedSctr(SID);
if (tbl.Rows.Count == 1)
{
SctrStat Status = PubQrys.GetSctrStat(SID);
DropDownList StatDdl = (DropDownList)SctrFrmVw.Fi ndControl( "StatDdl") ;
StatDdl.Items.Add(new ListItem("Please Select", "0"));
StatDdl.Items.Add(new ListItem("With Client", "1"));
StatDdl.Items.Add(new ListItem("Stored", "2"));
StatDdl.Items.Add(new ListItem("Written Off", "3"));
StatDdl.SelectedValue = Status.sStatus.ToString();
SctrFrmVw.PagerSettings.Vi sible = false;
SctrFrmVw.DataSource = tbl;
SctrFrmVw.DataBind();
}
}
else
{
SctrFrmVw.DataSource = PubQrys.GetAllSctrs();
SctrFrmVw.DataBind();
}
}
protected void InfoBtn_Click(object sender, EventArgs e)
{
string value = Request.QueryString["SID"] .ToString( );
string xScript = "<script language='javascript'>wind ow.open('S ctrInfo.as px?SID=" + value + "',name='_blank','scrollba rs=1,width =720,HEIGH T=450');</ script>";
Page.RegisterStartupScript ("Scooter Information", xScript);
}
protected void UpdateTxtBx_Click(object sender, EventArgs e)
{
int value = Int32.Parse(Request.QueryS tring["SID "].ToStrin g());
TextBox RegNoTxtBx = (TextBox)SctrFrmVw.FindCon trol("RegN oTxtBx");
TextBox MakeTxtBx = (TextBox)SctrFrmVw.FindCon trol("Make TxtBx");
TextBox MdlTxtBx = (TextBox)SctrFrmVw.FindCon trol("MdlT xtBx");
TextBox DateRegTxtBx = (TextBox)SctrFrmVw.FindCon trol("Date RegTxtBx") ;
TextBox OrgCostTxtBx = (TextBox)SctrFrmVw.FindCon trol("OrgC ostTxtBx") ;
TextBox InsTxtBx = (TextBox)SctrFrmVw.FindCon trol("InsT xtBx");
TextBox TaxTxtBx = (TextBox)SctrFrmVw.FindCon trol("TaxT xtBx");
TextBox MotTxtBx = (TextBox)SctrFrmVw.FindCon trol("MotT xtBx");
TextBox RacTxtBx = (TextBox)SctrFrmVw.FindCon trol("RacT xtBx");
TextBox StatTxtBx = (TextBox)SctrFrmVw.FindCon trol("Stat TxtBx");
Label StatLbl = (Label)SctrFrmVw.FindContr ol("StatLb l");
StatLbl.Text = RegNoTxtBx.Text + " " + InsTxtBx.Text;
if (value > 0)
{
}
}
}
the whole ascx.cs
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.
using System.Web.UI.HtmlControls
public partial class UserControls_SctrDets : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
PC();
}
}
private void PC()
{
int SID = Int32.Parse(Request.QueryS
if (SID > 0)
{
DataTable tbl = PubQrys.SelectedSctr(SID);
if (tbl.Rows.Count == 1)
{
SctrStat Status = PubQrys.GetSctrStat(SID);
DropDownList StatDdl = (DropDownList)SctrFrmVw.Fi
StatDdl.Items.Add(new ListItem("Please Select", "0"));
StatDdl.Items.Add(new ListItem("With Client", "1"));
StatDdl.Items.Add(new ListItem("Stored", "2"));
StatDdl.Items.Add(new ListItem("Written Off", "3"));
StatDdl.SelectedValue = Status.sStatus.ToString();
SctrFrmVw.PagerSettings.Vi
SctrFrmVw.DataSource = tbl;
SctrFrmVw.DataBind();
}
}
else
{
SctrFrmVw.DataSource = PubQrys.GetAllSctrs();
SctrFrmVw.DataBind();
}
}
protected void InfoBtn_Click(object sender, EventArgs e)
{
string value = Request.QueryString["SID"]
string xScript = "<script language='javascript'>wind
Page.RegisterStartupScript
}
protected void UpdateTxtBx_Click(object sender, EventArgs e)
{
int value = Int32.Parse(Request.QueryS
TextBox RegNoTxtBx = (TextBox)SctrFrmVw.FindCon
TextBox MakeTxtBx = (TextBox)SctrFrmVw.FindCon
TextBox MdlTxtBx = (TextBox)SctrFrmVw.FindCon
TextBox DateRegTxtBx = (TextBox)SctrFrmVw.FindCon
TextBox OrgCostTxtBx = (TextBox)SctrFrmVw.FindCon
TextBox InsTxtBx = (TextBox)SctrFrmVw.FindCon
TextBox TaxTxtBx = (TextBox)SctrFrmVw.FindCon
TextBox MotTxtBx = (TextBox)SctrFrmVw.FindCon
TextBox RacTxtBx = (TextBox)SctrFrmVw.FindCon
TextBox StatTxtBx = (TextBox)SctrFrmVw.FindCon
Label StatLbl = (Label)SctrFrmVw.FindContr
StatLbl.Text = RegNoTxtBx.Text + " " + InsTxtBx.Text;
if (value > 0)
{
}
}
}
the whole ascx.cs
stellyuk we meant the HTML part
it should be
StatDdl.Items.Insert(0, "Please Select")
StatDdl.Items.Insert(0, "Please Select")
StatDdl.Items.Insert("Plea se Select", 0)
ASKER
here ya go:
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="SctrDets.ascx.cs " Inherits="UserControls_Sct rDets" %>
<asp:FormView ID="SctrFrmVw" runat="server" AllowPaging="True">
<ItemTemplate>
<table>
<tr>
<td style="width: 100px">
</td>
<td style="width: 100px">
</td>
</tr>
<tr>
<td style="width: 100px">
Reg Number</td>
<td style="width: 100px">
<asp:TextBox ID="RegNoTxtBx" Text='<%# Bind("RegNo") %>' runat="server"></asp:TextB ox></td>
</tr>
<tr>
<td style="width: 100px">
Make</td>
<td style="width: 100px">
<asp:TextBox ID="MakeTxtBx" Text='<%# Bind("Make") %>' runat="server"></asp:TextB ox></td>
</tr>
<tr>
<td style="width: 100px">
Model</td>
<td style="width: 100px">
<asp:TextBox ID="MdlTxtBx" Text='<%# Bind("Model") %>' runat="server"></asp:TextB ox></td>
</tr>
<tr>
<td style="width: 100px">
DateRegistered</td>
<td style="width: 100px">
<asp:TextBox ID="DateRegTxtBx" Text='<%# Bind("DateRegistered") %>' runat="server"></asp:TextB ox></td>
</tr>
<tr>
<td style="width: 100px">
Orginal Cost</td>
<td style="width: 100px">
<asp:TextBox ID="OrgCostTxtBx" Text='<%# Bind("OrginalCost") %>' runat="server"></asp:TextB ox></td>
</tr>
<tr>
<td style="width: 100px">
Insurance Due</td>
<td style="width: 100px">
<asp:TextBox ID="InsTxtBx" Text='<%# Bind("InsDue") %>' runat="server"></asp:TextB ox></td>
</tr>
<tr>
<td style="width: 100px">
Tax Due</td>
<td style="width: 100px">
<asp:TextBox ID="TaxTxtBx" Text='<%# Bind("TaxDue") %>' runat="server"></asp:TextB ox></td>
</tr>
<tr>
<td style="width: 100px">
MOT Due</td>
<td style="width: 100px">
<asp:TextBox ID="MotTxtBx" Text='<%# Bind("MOTDue") %>' runat="server"></asp:TextB ox></td>
</tr>
<tr>
<td style="width: 100px; height: 26px">
RAC Due</td>
<td style="width: 100px; height: 26px">
<asp:TextBox ID="RacTxtBx" Text='<%# Bind("RACDue") %>' runat="server"></asp:TextB ox></td>
</tr>
<tr>
<td style="width: 100px">
Status</td>
<td style="width: 100px">
<asp:DropDownList ID="StatDdl" runat="server">
</asp:DropDownList></td>
</tr>
<tr>
<td style="width: 100px; height: 21px">
Information</td>
<td style="width: 100px; height: 21px">
<asp:Button ID="InfoBtn" runat="server" Text=" " OnClick="InfoBtn_Click" /></td>
</tr>
<tr>
<td align="center" colspan="2" style="height: 26px">
<asp:Button ID="UpdateTxtBx" runat="server" Text="Update" OnClick="UpdateTxtBx_Click " /></td>
</tr>
<tr>
<td align="center" colspan="2" style="height: 26px">
<asp:Label ID="StatLbl" runat="server"></asp:Label ></td>
</tr>
</table>
</ItemTemplate>
<PagerSettings Mode="NumericFirstLast" />
</asp:FormView>
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="SctrDets.ascx.cs
<asp:FormView ID="SctrFrmVw" runat="server" AllowPaging="True">
<ItemTemplate>
<table>
<tr>
<td style="width: 100px">
</td>
<td style="width: 100px">
</td>
</tr>
<tr>
<td style="width: 100px">
Reg Number</td>
<td style="width: 100px">
<asp:TextBox ID="RegNoTxtBx" Text='<%# Bind("RegNo") %>' runat="server"></asp:TextB
</tr>
<tr>
<td style="width: 100px">
Make</td>
<td style="width: 100px">
<asp:TextBox ID="MakeTxtBx" Text='<%# Bind("Make") %>' runat="server"></asp:TextB
</tr>
<tr>
<td style="width: 100px">
Model</td>
<td style="width: 100px">
<asp:TextBox ID="MdlTxtBx" Text='<%# Bind("Model") %>' runat="server"></asp:TextB
</tr>
<tr>
<td style="width: 100px">
DateRegistered</td>
<td style="width: 100px">
<asp:TextBox ID="DateRegTxtBx" Text='<%# Bind("DateRegistered") %>' runat="server"></asp:TextB
</tr>
<tr>
<td style="width: 100px">
Orginal Cost</td>
<td style="width: 100px">
<asp:TextBox ID="OrgCostTxtBx" Text='<%# Bind("OrginalCost") %>' runat="server"></asp:TextB
</tr>
<tr>
<td style="width: 100px">
Insurance Due</td>
<td style="width: 100px">
<asp:TextBox ID="InsTxtBx" Text='<%# Bind("InsDue") %>' runat="server"></asp:TextB
</tr>
<tr>
<td style="width: 100px">
Tax Due</td>
<td style="width: 100px">
<asp:TextBox ID="TaxTxtBx" Text='<%# Bind("TaxDue") %>' runat="server"></asp:TextB
</tr>
<tr>
<td style="width: 100px">
MOT Due</td>
<td style="width: 100px">
<asp:TextBox ID="MotTxtBx" Text='<%# Bind("MOTDue") %>' runat="server"></asp:TextB
</tr>
<tr>
<td style="width: 100px; height: 26px">
RAC Due</td>
<td style="width: 100px; height: 26px">
<asp:TextBox ID="RacTxtBx" Text='<%# Bind("RACDue") %>' runat="server"></asp:TextB
</tr>
<tr>
<td style="width: 100px">
Status</td>
<td style="width: 100px">
<asp:DropDownList ID="StatDdl" runat="server">
</asp:DropDownList></td>
</tr>
<tr>
<td style="width: 100px; height: 21px">
Information</td>
<td style="width: 100px; height: 21px">
<asp:Button ID="InfoBtn" runat="server" Text=" " OnClick="InfoBtn_Click" /></td>
</tr>
<tr>
<td align="center" colspan="2" style="height: 26px">
<asp:Button ID="UpdateTxtBx" runat="server" Text="Update" OnClick="UpdateTxtBx_Click
</tr>
<tr>
<td align="center" colspan="2" style="height: 26px">
<asp:Label ID="StatLbl" runat="server"></asp:Label
</tr>
</table>
</ItemTemplate>
<PagerSettings Mode="NumericFirstLast" />
</asp:FormView>
ASKER
any help please?
Stelly
Stelly
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Let me know if you have questions.