|
Home > Archive > Microsoft Content Management Server > March 2007 > Custom Placeholder Help
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
Custom Placeholder Help
|
|
|
| I am trying to write a custom placeholder control that in edit mode
looks like this:
[checkbox] "Day" "Start Time:" [DDL-Hour][DDL-Minutes][DDL-AM] to
"End Time:" [DDL-Hour][DDL-Minutes][DDL-AM]
I have gotten this to display in authoring mode the checkbox and drop
downboxes. I have tried to get the "Day" to be a property but for
some reason I cannot get that to work. I get the property in the
properties window but I can never get it to display in Authoring mode
the text that is there. I save my data to the BoundPlaceholder
(HtmlPlaceholder separated with '|') and can even display the data in
PresentationMode. However, once I have saved the data and try to re-
edit the data I get a viewstate error:
"Failed to load viewstate. The control tree into which viewstate is
being loaded must match the control tree that was used to save
viewstate during the previous request. For example, when adding
controls dynamically, the controls added during a post-back must match
the type and position of the controls added during the initial
request."
I cannot seem to figure out what I need to do here.
Here is my Placeholder Class:
using System.Xml;
using System.Xml.Xsl;
using System.Web.UI.WebControls;
using System;
using System.Web.UI;
using System.ComponentModel;
using Microsoft.ContentManagement.Publishing;
using Microsoft.ContentManagement.Publishing.Extensions.Placeholders;
using Microsoft.ContentManagement.WebControls.Design;
using Microsoft.ContentManagement.WebControls;
namespace MyPlaceholderControl
{
/// <summary>
/// Summary description for MyEventTimePlaceholderControl.
/// </summary>
[ SupportedPlaceholderDefinitionType( typeof(HtmlPlaceholderDefinition) ) ]
public class MyEventTimePlaceholderControl : BasePlaceholderControl
{
// Authoring Controls
private CheckBox chkEditControl;
private DropDownList ddlStartHourControl;
private DropDownList ddlStartMinutesControl;
private DropDownList ddlStartAMPMControl;
private DropDownList ddlEndHourControl;
private DropDownList ddlEndMinutesControl;
private DropDownList ddlEndAMPMControl;
// Presentation Contols
private Literal litPresentationControl;
private string dayofweek;
[
Browsable(true),
Description("The day of the week this checkbox represents."),
Category("Data"),
DefaultValue("")
]
public string DayOfWeek
{
get
{
return this.dayofweek;
}
set
{
this.dayofweek = value;
}
}
public MyEventTimePlaceholderControl()
{
this.dayofweek = "Testing";
}
#region Private Functions
private void BuildHours()
{
this.ddlStartHourControl.Items.Add(new ListItem("1", "01"));
this.ddlStartHourControl.Items.Add(new ListItem("2", "02"));
this.ddlStartHourControl.Items.Add(new ListItem("3", "03"));
this.ddlStartHourControl.Items.Add(new ListItem("4", "04"));
this.ddlStartHourControl.Items.Add(new ListItem("5", "05"));
this.ddlStartHourControl.Items.Add(new ListItem("6", "06"));
this.ddlStartHourControl.Items.Add(new ListItem("7", "07"));
this.ddlStartHourControl.Items.Add(new ListItem("8", "08"));
this.ddlStartHourControl.Items.Add(new ListItem("9", "09"));
this.ddlStartHourControl.Items.Add(new ListItem("10", "10"));
this.ddlStartHourControl.Items.Add(new ListItem("11", "11"));
this.ddlStartHourControl.Items.Add(new ListItem("12", "12"));
this.ddlEndHourControl.Items.Add(new ListItem("1", "01"));
this.ddlEndHourControl.Items.Add(new ListItem("2", "02"));
this.ddlEndHourControl.Items.Add(new ListItem("3", "03"));
this.ddlEndHourControl.Items.Add(new ListItem("4", "04"));
this.ddlEndHourControl.Items.Add(new ListItem("5", "05"));
this.ddlEndHourControl.Items.Add(new ListItem("6", "06"));
this.ddlEndHourControl.Items.Add(new ListItem("7", "07"));
this.ddlEndHourControl.Items.Add(new ListItem("8", "08"));
this.ddlEndHourControl.Items.Add(new ListItem("9", "09"));
this.ddlEndHourControl.Items.Add(new ListItem("10", "10"));
this.ddlEndHourControl.Items.Add(new ListItem("11", "11"));
this.ddlEndHourControl.Items.Add(new ListItem("12", "12"));
}
private void BuildMinutes()
{
this.ddlStartMinutesControl.Items.Add(new ListItem("00", "00"));
this.ddlStartMinutesControl.Items.Add(new ListItem("05", "05"));
this.ddlStartMinutesControl.Items.Add(new ListItem("10", "10"));
this.ddlStartMinutesControl.Items.Add(new ListItem("15", "15"));
this.ddlStartMinutesControl.Items.Add(new ListItem("20", "20"));
this.ddlStartMinutesControl.Items.Add(new ListItem("25", "25"));
this.ddlStartMinutesControl.Items.Add(new ListItem("30", "30"));
this.ddlStartMinutesControl.Items.Add(new ListItem("35", "35"));
this.ddlStartMinutesControl.Items.Add(new ListItem("40", "40"));
this.ddlStartMinutesControl.Items.Add(new ListItem("45", "45"));
this.ddlStartMinutesControl.Items.Add(new ListItem("50", "50"));
this.ddlStartMinutesControl.Items.Add(new ListItem("55", "55"));
this.ddlEndMinutesControl.Items.Add(new ListItem("00", "00"));
this.ddlEndMinutesControl.Items.Add(new ListItem("05", "05"));
this.ddlEndMinutesControl.Items.Add(new ListItem("10", "10"));
this.ddlEndMinutesControl.Items.Add(new ListItem("15", "15"));
this.ddlEndMinutesControl.Items.Add(new ListItem("20", "20"));
this.ddlEndMinutesControl.Items.Add(new ListItem("25", "25"));
this.ddlEndMinutesControl.Items.Add(new ListItem("30", "30"));
this.ddlEndMinutesControl.Items.Add(new ListItem("35", "35"));
this.ddlEndMinutesControl.Items.Add(new ListItem("40", "40"));
this.ddlEndMinutesControl.Items.Add(new ListItem("45", "45"));
this.ddlEndMinutesControl.Items.Add(new ListItem("50", "50"));
this.ddlEndMinutesControl.Items.Add(new ListItem("55", "55"));
}
private void BuildAMPM()
{
this.ddlStartAMPMControl.Items.Add(new ListItem("AM", "AM"));
this.ddlStartAMPMControl.Items.Add(new ListItem("PM", "PM"));
this.ddlEndAMPMControl.Items.Add(new ListItem("AM", "AM"));
this.ddlEndAMPMControl.Items.Add(new ListItem("PM", "PM"));
}
#endregion
protected override void
CreateAuthoringChildControls(BaseModeCon
tainer authoringContainer)
{
//Checkbox Control
this.chkEditControl = new CheckBox();
this.chkEditControl.ID = "HtmlAuthoringControl";
this.chkEditControl.Text = this.DayOfWeek;
this.ddlStartHourControl = new DropDownList();
this.ddlStartHourControl.ID = "StartHourControl";
this.ddlStartMinutesControl = new DropDownList();
this.ddlStartMinutesControl.ID = "StartMinutesControl";
this.ddlStartAMPMControl = new DropDownList();
this.ddlStartAMPMControl.ID = "StartAMPMControl";
this.ddlEndHourControl = new DropDownList();
this.ddlEndHourControl.ID = "EndHourControl";
this.ddlEndMinutesControl = new DropDownList();
this.ddlEndMinutesControl.ID = "EndMinutesControl";
this.ddlEndAMPMControl = new DropDownList();
this.ddlEndAMPMControl.ID = "EndAMPMControl";
this.BuildHours();
this.BuildMinutes();
this.BuildAMPM();
authoringContainer.Controls.Add(this.chkEditControl);
authoringContainer.Controls.Add(this.ddlStartHourControl);
authoringContainer.Controls.Add(this.ddlStartMinutesControl);
authoringContainer.Controls.Add(this.ddlStartAMPMControl);
authoringContainer.Controls.Add(this.ddlEndHourControl);
authoringContainer.Controls.Add(this.ddlEndMinutesControl);
authoringContainer.Controls.Add(this.ddlEndAMPMControl);
}
// define and add the presentation control to the collection
protected override void
CreatePresentationChildControls(BaseMode
Container
presentationContainer)
{
this.litPresentationControl = new Literal();
this.litPresentationControl.ID = "LitPresentationControlControl";
presentationContainer.Controls.Add( this.litPresentationControl );
}
protected override void LoadPlaceholderContentForAuthoring(
PlaceholderControlEventArgs e)
{
EnsureChildControls();
// try
// {
//
// string BoundText =
((HtmlPlaceholder)this.BoundPlaceholder).Html;
// string[] Bound = BoundText.Split('|');
//
// if (Bound[0].ToUpper() == "TRUE")
// {
// this.chkEditControl.Checked = true;
// }
//
// this.ddlStartHourControl.SelectedValue = Bound[1];
// this.ddlStartMinutesControl.SelectedValue = Bound[2];
// this.ddlStartAMPMControl.SelectedValue = Bound[3];
//
// this.ddlEndHourControl.SelectedValue = Bound[4];
// this.ddlEndMinutesControl.SelectedValue = Bound[5];
// this.ddlEndAMPMControl.SelectedValue = Bound[6];
//
// }
// catch (Exception exp)
// {
// this.litPresentationControl.Text = "<error>" + exp.Message + "</
error>";
// }
}
protected override void LoadPlaceholderContentForPresentation(
PlaceholderControlEventArgs e)
{
EnsureChildControls();
try
{
this.litPresentationControl.Text =
((HtmlPlaceholder)this.BoundPlaceholder).Html;
}
catch (Exception exp)
{
this.litPresentationControl.Text = "<error>" + exp.Message + "</
error>";
}
}
// protected override void SavePlaceholderContent(
// PlaceholderControlSaveEventArgs e)
// {
//
// EnsureChildControls();
// try
// {
// ((HtmlPlaceholder)this.BoundPlaceholder).Html =
this.chkEditControl.Text;
// }
// catch (Exception exp)
// {
// // Possible validation exceptions
// // You can override it with your own custom exception
// string newExceptionMessage = String.Format( "[{0} \"{1}\"] Error
saving placeholder contents: {2}", this.GetType().Name, this.ID,
exp.Message );
// Exception overriddenException = new
Exception(newExceptionMessage, exp);
// // Raise new exception so the BasePlaceholderControl
// // can handle it
// throw overriddenException;
// }
// }
protected override void
SavePlaceholderContent(PlaceholderContro
lSaveEventArgs e)
{
EnsureChildControls();
try
{
//((HtmlPlaceholder)this.BoundPlaceholder).Html = "Hello World!";
((HtmlPlaceholder)this.BoundPlaceholder).Html =
this.chkEditControl.Checked.ToString() + "|"
+ this.ddlStartHourControl.SelectedValue + "|"
+ this.ddlStartMinutesControl.SelectedValue + "|"
+ this.ddlStartAMPMControl.SelectedValue + "|"
+ this.ddlEndHourControl.SelectedValue + "|"
+ this.ddlEndMinutesControl.SelectedValue + "|"
+ this.ddlEndAMPMControl.SelectedValue;
}
catch (Exception exp)
{
string newExceptionMessage = String.Format( "[{0} \"{1}\"] Error
saving placeholder content: {2}", this.GetType().Name, this.ID,
exp.Message);
Exception overriddenException = new Exception(newExceptionMessage,
exp);
throw overriddenException;
}
}
// protected override void
OnPopulatingDefaultContent(PlaceholderCo
ntrolCancelEventArgs e)
// {
// try
// {
// this.chkEditControl.Text = "DAY";
// }
// catch (Exception f)
// {
// string message = f.Message;
// }
// }
}
}
| |
| Stefan Goßner [MSFT] 2007-03-01, 1:16 pm |
| Hi Matt,
please disable view state on the child controls or embedd you child controls
in an ASP.NET placeholder control (not to be mixed up with MCMS
PlaceholderControls).
This should resolve the issue.
Cheers,
Stefan
"Matt" <matthew.holmen@greensboro-nc.gov> wrote in message
news:1172756199.616693.96280@p10g2000cwp.googlegroups.com...
>I am trying to write a custom placeholder control that in edit mode
> looks like this:
>
>
> [checkbox] "Day" "Start Time:" [DDL-Hour][DDL-Minutes][DDL-AM] to
> "End Time:" [DDL-Hour][DDL-Minutes][DDL-AM]
>
>
> I have gotten this to display in authoring mode the checkbox and drop
> downboxes. I have tried to get the "Day" to be a property but for
> some reason I cannot get that to work. I get the property in the
> properties window but I can never get it to display in Authoring mode
> the text that is there. I save my data to the BoundPlaceholder
> (HtmlPlaceholder separated with '|') and can even display the data in
> PresentationMode. However, once I have saved the data and try to re-
> edit the data I get a viewstate error:
>
>
> "Failed to load viewstate. The control tree into which viewstate is
> being loaded must match the control tree that was used to save
> viewstate during the previous request. For example, when adding
> controls dynamically, the controls added during a post-back must match
> the type and position of the controls added during the initial
> request."
>
>
> I cannot seem to figure out what I need to do here.
>
> Here is my Placeholder Class:
>
>
> using System.Xml;
> using System.Xml.Xsl;
> using System.Web.UI.WebControls;
> using System;
> using System.Web.UI;
> using System.ComponentModel;
> using Microsoft.ContentManagement.Publishing;
> using Microsoft.ContentManagement.Publishing.Extensions.Placeholders;
> using Microsoft.ContentManagement.WebControls.Design;
> using Microsoft.ContentManagement.WebControls;
>
> namespace MyPlaceholderControl
> {
> /// <summary>
> /// Summary description for MyEventTimePlaceholderControl.
> /// </summary>
>
> [ SupportedPlaceholderDefinitionType(
> typeof(HtmlPlaceholderDefinition) ) ]
>
> public class MyEventTimePlaceholderControl : BasePlaceholderControl
> {
> // Authoring Controls
> private CheckBox chkEditControl;
> private DropDownList ddlStartHourControl;
> private DropDownList ddlStartMinutesControl;
> private DropDownList ddlStartAMPMControl;
> private DropDownList ddlEndHourControl;
> private DropDownList ddlEndMinutesControl;
> private DropDownList ddlEndAMPMControl;
>
>
> // Presentation Contols
> private Literal litPresentationControl;
>
> private string dayofweek;
>
> [
> Browsable(true),
> Description("The day of the week this checkbox represents."),
> Category("Data"),
> DefaultValue("")
> ]
> public string DayOfWeek
> {
> get
> {
> return this.dayofweek;
> }
> set
> {
> this.dayofweek = value;
> }
> }
>
> public MyEventTimePlaceholderControl()
> {
> this.dayofweek = "Testing";
> }
>
>
> #region Private Functions
> private void BuildHours()
> {
> this.ddlStartHourControl.Items.Add(new ListItem("1", "01"));
> this.ddlStartHourControl.Items.Add(new ListItem("2", "02"));
> this.ddlStartHourControl.Items.Add(new ListItem("3", "03"));
> this.ddlStartHourControl.Items.Add(new ListItem("4", "04"));
> this.ddlStartHourControl.Items.Add(new ListItem("5", "05"));
> this.ddlStartHourControl.Items.Add(new ListItem("6", "06"));
> this.ddlStartHourControl.Items.Add(new ListItem("7", "07"));
> this.ddlStartHourControl.Items.Add(new ListItem("8", "08"));
> this.ddlStartHourControl.Items.Add(new ListItem("9", "09"));
> this.ddlStartHourControl.Items.Add(new ListItem("10", "10"));
> this.ddlStartHourControl.Items.Add(new ListItem("11", "11"));
> this.ddlStartHourControl.Items.Add(new ListItem("12", "12"));
>
>
> this.ddlEndHourControl.Items.Add(new ListItem("1", "01"));
> this.ddlEndHourControl.Items.Add(new ListItem("2", "02"));
> this.ddlEndHourControl.Items.Add(new ListItem("3", "03"));
> this.ddlEndHourControl.Items.Add(new ListItem("4", "04"));
> this.ddlEndHourControl.Items.Add(new ListItem("5", "05"));
> this.ddlEndHourControl.Items.Add(new ListItem("6", "06"));
> this.ddlEndHourControl.Items.Add(new ListItem("7", "07"));
> this.ddlEndHourControl.Items.Add(new ListItem("8", "08"));
> this.ddlEndHourControl.Items.Add(new ListItem("9", "09"));
> this.ddlEndHourControl.Items.Add(new ListItem("10", "10"));
> this.ddlEndHourControl.Items.Add(new ListItem("11", "11"));
> this.ddlEndHourControl.Items.Add(new ListItem("12", "12"));
>
> }
>
> private void BuildMinutes()
> {
> this.ddlStartMinutesControl.Items.Add(new ListItem("00", "00"));
> this.ddlStartMinutesControl.Items.Add(new ListItem("05", "05"));
> this.ddlStartMinutesControl.Items.Add(new ListItem("10", "10"));
> this.ddlStartMinutesControl.Items.Add(new ListItem("15", "15"));
> this.ddlStartMinutesControl.Items.Add(new ListItem("20", "20"));
> this.ddlStartMinutesControl.Items.Add(new ListItem("25", "25"));
> this.ddlStartMinutesControl.Items.Add(new ListItem("30", "30"));
> this.ddlStartMinutesControl.Items.Add(new ListItem("35", "35"));
> this.ddlStartMinutesControl.Items.Add(new ListItem("40", "40"));
> this.ddlStartMinutesControl.Items.Add(new ListItem("45", "45"));
> this.ddlStartMinutesControl.Items.Add(new ListItem("50", "50"));
> this.ddlStartMinutesControl.Items.Add(new ListItem("55", "55"));
>
> this.ddlEndMinutesControl.Items.Add(new ListItem("00", "00"));
> this.ddlEndMinutesControl.Items.Add(new ListItem("05", "05"));
> this.ddlEndMinutesControl.Items.Add(new ListItem("10", "10"));
> this.ddlEndMinutesControl.Items.Add(new ListItem("15", "15"));
> this.ddlEndMinutesControl.Items.Add(new ListItem("20", "20"));
> this.ddlEndMinutesControl.Items.Add(new ListItem("25", "25"));
> this.ddlEndMinutesControl.Items.Add(new ListItem("30", "30"));
> this.ddlEndMinutesControl.Items.Add(new ListItem("35", "35"));
> this.ddlEndMinutesControl.Items.Add(new ListItem("40", "40"));
> this.ddlEndMinutesControl.Items.Add(new ListItem("45", "45"));
> this.ddlEndMinutesControl.Items.Add(new ListItem("50", "50"));
> this.ddlEndMinutesControl.Items.Add(new ListItem("55", "55"));
>
> }
>
> private void BuildAMPM()
> {
> this.ddlStartAMPMControl.Items.Add(new ListItem("AM", "AM"));
> this.ddlStartAMPMControl.Items.Add(new ListItem("PM", "PM"));
>
> this.ddlEndAMPMControl.Items.Add(new ListItem("AM", "AM"));
> this.ddlEndAMPMControl.Items.Add(new ListItem("PM", "PM"));
> }
> #endregion
>
>
> protected override void
> CreateAuthoringChildControls(BaseModeCon
tainer authoringContainer)
> {
> //Checkbox Control
> this.chkEditControl = new CheckBox();
> this.chkEditControl.ID = "HtmlAuthoringControl";
> this.chkEditControl.Text = this.DayOfWeek;
>
> this.ddlStartHourControl = new DropDownList();
> this.ddlStartHourControl.ID = "StartHourControl";
>
> this.ddlStartMinutesControl = new DropDownList();
> this.ddlStartMinutesControl.ID = "StartMinutesControl";
>
> this.ddlStartAMPMControl = new DropDownList();
> this.ddlStartAMPMControl.ID = "StartAMPMControl";
>
>
> this.ddlEndHourControl = new DropDownList();
> this.ddlEndHourControl.ID = "EndHourControl";
>
> this.ddlEndMinutesControl = new DropDownList();
> this.ddlEndMinutesControl.ID = "EndMinutesControl";
>
> this.ddlEndAMPMControl = new DropDownList();
> this.ddlEndAMPMControl.ID = "EndAMPMControl";
>
> this.BuildHours();
> this.BuildMinutes();
> this.BuildAMPM();
>
> authoringContainer.Controls.Add(this.chkEditControl);
> authoringContainer.Controls.Add(this.ddlStartHourControl);
> authoringContainer.Controls.Add(this.ddlStartMinutesControl);
> authoringContainer.Controls.Add(this.ddlStartAMPMControl);
> authoringContainer.Controls.Add(this.ddlEndHourControl);
> authoringContainer.Controls.Add(this.ddlEndMinutesControl);
> authoringContainer.Controls.Add(this.ddlEndAMPMControl);
> }
>
>
> // define and add the presentation control to the collection
> protected override void
> CreatePresentationChildControls(BaseMode
Container
> presentationContainer)
> {
> this.litPresentationControl = new Literal();
> this.litPresentationControl.ID = "LitPresentationControlControl";
> presentationContainer.Controls.Add( this.litPresentationControl );
> }
>
>
> protected override void LoadPlaceholderContentForAuthoring(
> PlaceholderControlEventArgs e)
> {
> EnsureChildControls();
>
> // try
> // {
> //
> // string BoundText =
> ((HtmlPlaceholder)this.BoundPlaceholder).Html;
> // string[] Bound = BoundText.Split('|');
> //
> // if (Bound[0].ToUpper() == "TRUE")
> // {
> // this.chkEditControl.Checked = true;
> // }
> //
> // this.ddlStartHourControl.SelectedValue = Bound[1];
> // this.ddlStartMinutesControl.SelectedValue = Bound[2];
> // this.ddlStartAMPMControl.SelectedValue = Bound[3];
> //
> // this.ddlEndHourControl.SelectedValue = Bound[4];
> // this.ddlEndMinutesControl.SelectedValue = Bound[5];
> // this.ddlEndAMPMControl.SelectedValue = Bound[6];
> //
> // }
> // catch (Exception exp)
> // {
> // this.litPresentationControl.Text = "<error>" + exp.Message + "</
> error>";
> // }
>
>
> }
>
> protected override void LoadPlaceholderContentForPresentation(
> PlaceholderControlEventArgs e)
> {
> EnsureChildControls();
>
> try
> {
>
> this.litPresentationControl.Text =
> ((HtmlPlaceholder)this.BoundPlaceholder).Html;
>
> }
> catch (Exception exp)
> {
> this.litPresentationControl.Text = "<error>" + exp.Message + "</
> error>";
> }
>
> }
>
>
> // protected override void SavePlaceholderContent(
> // PlaceholderControlSaveEventArgs e)
> // {
> //
> // EnsureChildControls();
> // try
> // {
> // ((HtmlPlaceholder)this.BoundPlaceholder).Html =
> this.chkEditControl.Text;
> // }
> // catch (Exception exp)
> // {
> // // Possible validation exceptions
> // // You can override it with your own custom exception
> // string newExceptionMessage = String.Format( "[{0} \"{1}\"] Error
> saving placeholder contents: {2}", this.GetType().Name, this.ID,
> exp.Message );
> // Exception overriddenException = new
> Exception(newExceptionMessage, exp);
> // // Raise new exception so the BasePlaceholderControl
> // // can handle it
> // throw overriddenException;
> // }
> // }
>
> protected override void
> SavePlaceholderContent(PlaceholderContro
lSaveEventArgs e)
> {
> EnsureChildControls();
> try
> {
> //((HtmlPlaceholder)this.BoundPlaceholder).Html = "Hello World!";
> ((HtmlPlaceholder)this.BoundPlaceholder).Html =
> this.chkEditControl.Checked.ToString() + "|"
> + this.ddlStartHourControl.SelectedValue + "|"
> + this.ddlStartMinutesControl.SelectedValue + "|"
> + this.ddlStartAMPMControl.SelectedValue + "|"
> + this.ddlEndHourControl.SelectedValue + "|"
> + this.ddlEndMinutesControl.SelectedValue + "|"
> + this.ddlEndAMPMControl.SelectedValue;
> }
> catch (Exception exp)
> {
> string newExceptionMessage = String.Format( "[{0} \"{1}\"] Error
> saving placeholder content: {2}", this.GetType().Name, this.ID,
> exp.Message);
> Exception overriddenException = new Exception(newExceptionMessage,
> exp);
> throw overriddenException;
> }
> }
>
>
> // protected override void
> OnPopulatingDefaultContent(PlaceholderCo
ntrolCancelEventArgs e)
> // {
> // try
> // {
> // this.chkEditControl.Text = "DAY";
> // }
> // catch (Exception f)
> // {
> // string message = f.Message;
> // }
> // }
>
> }
> }
>
| |
|
| Looks like that did the trick.
Thanks
Matt
|
|
|
|
|