G
Guest
Hello all, I've pasted in my code that doesn't seem to work. I can raise the
grdLinks_ItemCommand event, but for some reason e.CommandName is = "", event
though in gdrLink_ItemDataBound I'm setting it to be AddFAQ. WHy is that?
Thanks,
namespace HotLinks
{
/// <summary>
/// Summary description for WebForm1.
/// </summary>
public class ChooseHotlinks : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid grdLinks;
protected System.Web.UI.WebControls.DataGrid grdHotLinks;
protected System.Web.UI.WebControls.Repeater rptLinkTypes;
private int HotLinkTypeID;
private void Page_Load(object sender, System.EventArgs e)
{
HotLinkTypeID = Convert.ToInt32(Request.QueryString["hotlinktypeid"]);
if(!Page.IsPostBack)
{
BindLinkTypes();
if(HotLinkTypeID != 0)
{
BindLinksGrid(HotLinkTypeID);
}
}
}
private void BindLinkTypes()
{
rptLinkTypes.DataSource = new HotLinks().GetAllHotLinkTypes();
rptLinkTypes.DataBind();
}
private void BindLinksGrid(int LinkType)
{
switch (LinkType)
{
case 1:
grdLinks.DataSource = new HotLinks().GetAllFAQs();
BoundColumn faqID = new BoundColumn();
BoundColumn Question = new BoundColumn();
faqID.DataField = "faqID";
faqID.HeaderText = "ID";
Question.DataField = "faqQuestion";
Question.HeaderText = "Question";
grdLinks.Columns.AddAt(0, faqID);
grdLinks.Columns.AddAt(1, Question);
break;
case 2:
grdLinks.DataSource = new HotLinks().GetAllNews();
BoundColumn newsID = new BoundColumn();
BoundColumn Headline = new BoundColumn();
newsID.DataField = "newsID";
newsID.HeaderText = "ID";
Headline.DataField = "newsHeadline";
Headline.HeaderText = "Headline";
grdLinks.Columns.AddAt(0, newsID);
grdLinks.Columns.AddAt(1, Headline);
break;
case 3:
grdLinks.DataSource = new HotLinks().GetAllEvents();
BoundColumn eventID = new BoundColumn();
BoundColumn Name = new BoundColumn();
eventID.DataField = "eventID";
eventID.HeaderText = "ID";
Name.DataField = "eventName";
Name.HeaderText = "Name";
grdLinks.Columns.AddAt(0, eventID);
grdLinks.Columns.AddAt(1, Name);
break;
}
grdLinks.DataBind();
}
private void BindHotLinksGrid()
{
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.rptLinkTypes.ItemDataBound += new
System.Web.UI.WebControls.RepeaterItemEventHandler(this.rptLinkTypes_ItemDataBound);
this.grdLinks.ItemCommand += new
System.Web.UI.WebControls.DataGridCommandEventHandler(this.grdLinks_ItemCommand);
this.grdLinks.ItemDataBound += new
System.Web.UI.WebControls.DataGridItemEventHandler(this.grdLinks_ItemDataBound);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void rptLinkTypes_ItemDataBound(object sender,
System.Web.UI.WebControls.RepeaterItemEventArgs e)
{
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType ==
ListItemType.AlternatingItem)
{
DataRowView dataRowView = (DataRowView)e.Item.DataItem;
HyperLink lnkHotLinksType =
(HyperLink)e.Item.FindControl("lnkHotLinkType");
lnkHotLinksType.Text = dataRowView["Type"].ToString();
lnkHotLinksType.NavigateUrl = "ChooseHotlinks.aspx?hotlinktypeid=" +
dataRowView["ID"].ToString();
}
}
private void grdLinks_ItemDataBound(object sender,
System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType ==
ListItemType.AlternatingItem)
{
DataRowView dataRowView = (DataRowView)e.Item.DataItem;
ImageButton imgAddHotLink =
(ImageButton)e.Item.FindControl("imgAddHotLink");
imgAddHotLink.CommandName = "AddFAQ";
}
}
private void grdLinks_ItemCommand(object source,
System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
switch (e.CommandName)
{
case "AddFAQ":
break;
case "AddNews":
break;
case "AddEvent":
break;
}
BindLinksGrid(HotLinkTypeID);
}
}
}
grdLinks_ItemCommand event, but for some reason e.CommandName is = "", event
though in gdrLink_ItemDataBound I'm setting it to be AddFAQ. WHy is that?
Thanks,
namespace HotLinks
{
/// <summary>
/// Summary description for WebForm1.
/// </summary>
public class ChooseHotlinks : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid grdLinks;
protected System.Web.UI.WebControls.DataGrid grdHotLinks;
protected System.Web.UI.WebControls.Repeater rptLinkTypes;
private int HotLinkTypeID;
private void Page_Load(object sender, System.EventArgs e)
{
HotLinkTypeID = Convert.ToInt32(Request.QueryString["hotlinktypeid"]);
if(!Page.IsPostBack)
{
BindLinkTypes();
if(HotLinkTypeID != 0)
{
BindLinksGrid(HotLinkTypeID);
}
}
}
private void BindLinkTypes()
{
rptLinkTypes.DataSource = new HotLinks().GetAllHotLinkTypes();
rptLinkTypes.DataBind();
}
private void BindLinksGrid(int LinkType)
{
switch (LinkType)
{
case 1:
grdLinks.DataSource = new HotLinks().GetAllFAQs();
BoundColumn faqID = new BoundColumn();
BoundColumn Question = new BoundColumn();
faqID.DataField = "faqID";
faqID.HeaderText = "ID";
Question.DataField = "faqQuestion";
Question.HeaderText = "Question";
grdLinks.Columns.AddAt(0, faqID);
grdLinks.Columns.AddAt(1, Question);
break;
case 2:
grdLinks.DataSource = new HotLinks().GetAllNews();
BoundColumn newsID = new BoundColumn();
BoundColumn Headline = new BoundColumn();
newsID.DataField = "newsID";
newsID.HeaderText = "ID";
Headline.DataField = "newsHeadline";
Headline.HeaderText = "Headline";
grdLinks.Columns.AddAt(0, newsID);
grdLinks.Columns.AddAt(1, Headline);
break;
case 3:
grdLinks.DataSource = new HotLinks().GetAllEvents();
BoundColumn eventID = new BoundColumn();
BoundColumn Name = new BoundColumn();
eventID.DataField = "eventID";
eventID.HeaderText = "ID";
Name.DataField = "eventName";
Name.HeaderText = "Name";
grdLinks.Columns.AddAt(0, eventID);
grdLinks.Columns.AddAt(1, Name);
break;
}
grdLinks.DataBind();
}
private void BindHotLinksGrid()
{
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.rptLinkTypes.ItemDataBound += new
System.Web.UI.WebControls.RepeaterItemEventHandler(this.rptLinkTypes_ItemDataBound);
this.grdLinks.ItemCommand += new
System.Web.UI.WebControls.DataGridCommandEventHandler(this.grdLinks_ItemCommand);
this.grdLinks.ItemDataBound += new
System.Web.UI.WebControls.DataGridItemEventHandler(this.grdLinks_ItemDataBound);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void rptLinkTypes_ItemDataBound(object sender,
System.Web.UI.WebControls.RepeaterItemEventArgs e)
{
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType ==
ListItemType.AlternatingItem)
{
DataRowView dataRowView = (DataRowView)e.Item.DataItem;
HyperLink lnkHotLinksType =
(HyperLink)e.Item.FindControl("lnkHotLinkType");
lnkHotLinksType.Text = dataRowView["Type"].ToString();
lnkHotLinksType.NavigateUrl = "ChooseHotlinks.aspx?hotlinktypeid=" +
dataRowView["ID"].ToString();
}
}
private void grdLinks_ItemDataBound(object sender,
System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType ==
ListItemType.AlternatingItem)
{
DataRowView dataRowView = (DataRowView)e.Item.DataItem;
ImageButton imgAddHotLink =
(ImageButton)e.Item.FindControl("imgAddHotLink");
imgAddHotLink.CommandName = "AddFAQ";
}
}
private void grdLinks_ItemCommand(object source,
System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
switch (e.CommandName)
{
case "AddFAQ":
break;
case "AddNews":
break;
case "AddEvent":
break;
}
BindLinksGrid(HotLinkTypeID);
}
}
}