Getting error "Unable to generate code for a value of type"

X

xyz

I have created a server control for asp.net using C#. Everything works fine
in Visual Studio, but when I attempt to look at the page I get an error.
Below is my code and the error. Can anybody help me determine the problem
and how I can resolve it. Thanks.

using System;

using System.ComponentModel;

using System.Globalization;

namespace LCOGTools_WebForms_SrchRcrd

{

/// <summary>

/// Summary description for PersonStructure.

/// </summary>

public class LCOGCntrlSrchRcrd

{

private string srchCntrlNm = "";

private string srchFldNm = "";

private string srchTblNm = "";


[

DescriptionAttribute ("Web form control this relates to.")

, NotifyParentPropertyAttribute (true)

, RefreshPropertiesAttribute (System.ComponentModel.RefreshProperties.All)

, BindableAttribute (System.ComponentModel.BindableSupport.Yes)

]

public string SrchCntrlNm

{

get

{

return srchCntrlNm;

}

set

{

this.srchCntrlNm = value;

}

}

[

DescriptionAttribute ("Database table field this control relates to.")

, NotifyParentPropertyAttribute (true)

, RefreshPropertiesAttribute (System.ComponentModel.RefreshProperties.All)

, BindableAttribute (System.ComponentModel.BindableSupport.Yes)

]

public string SrchFldNm

{

get

{

return srchFldNm;

}

set

{

this.srchFldNm = value;

}

}

[

DescriptionAttribute ("Database table this control relates to.")

, NotifyParentPropertyAttribute (true)

, RefreshPropertiesAttribute (System.ComponentModel.RefreshProperties.All)

, BindableAttribute (System.ComponentModel.BindableSupport.Yes)

]

public string SrchTblNm

{

get

{

return srchTblNm;

}

set

{

this.srchTblNm = value;

}

}

public override string ToString ()

{

string ls_ToString;

ls_ToString =

"srchCntrlNm==" + this.srchCntrlNm

+ "srchTblNm==" + this.srchTblNm

+ "srchFldNm==" + this.srchFldNm

;

return ls_ToString;

}

}

public class LCOGCntrlSrchRcrdConverter : ExpandableObjectConverter

{

public override bool CanConvertFrom (ITypeDescriptorContext context, Type t)

{

if (t == typeof(string))

{

return true;

}

return base.CanConvertFrom(context, t);

}

public override object ConvertFrom (ITypeDescriptorContext context,
CultureInfo info, object value)

{

LCOGCntrlSrchRcrd lo_CurrSrchRcrd = new LCOGCntrlSrchRcrd ();

int li_CommaPos;

string ls_ValueIn;

string ls_WorkValue;

// Here you can parse things to get the data out there that you want.

if (value is string)

{

try

{

ls_ValueIn = (string) value;

ls_WorkValue = ls_ValueIn;

// Parse the format of srchCntrlNm,srchTblNm,srchFldNm

// Get SrchCntrlNm

li_CommaPos = ls_WorkValue.IndexOf (",");

if (li_CommaPos != -1)

{

lo_CurrSrchRcrd.SrchCntrlNm = ls_WorkValue.Substring (0, li_CommaPos);

ls_WorkValue = ls_WorkValue.Substring ((li_CommaPos+1));

} // End of if (li_CommaPos != -1).

// Get SrchFldNm

li_CommaPos = ls_WorkValue.IndexOf (",");

if (li_CommaPos != -1)

{

lo_CurrSrchRcrd.SrchFldNm = ls_WorkValue.Substring (0, li_CommaPos);

ls_WorkValue = ls_WorkValue.Substring ((li_CommaPos+1));

} // End of if (li_CommaPos != -1).

// Get SrchTblNm

li_CommaPos = ls_WorkValue.IndexOf (",");

lo_CurrSrchRcrd.SrchTblNm = ls_WorkValue;

// Return this record to the caller.

return (lo_CurrSrchRcrd);

} // End of try.

catch

{

}

// If we got this far, complain that we could not parse the string.

throw new ArgumentException ("Can not convert '"

+ (string) value + "' to type LCOG Control Search Record");

} // End of if (value is string).

return base.ConvertFrom (context, info, value);

}

public override object ConvertTo (ITypeDescriptorContext context,
CultureInfo culture, object value, Type destType)

{

if (destType == typeof(string) && value is LCOGCntrlSrchRcrd)

{

string ls_ConvertToValue = "";

LCOGCntrlSrchRcrd lo_CurrSrchRcrd = (LCOGCntrlSrchRcrd) value;

if ((lo_CurrSrchRcrd.SrchCntrlNm != "") && (lo_CurrSrchRcrd.SrchCntrlNm !=
null))

{

ls_ConvertToValue = lo_CurrSrchRcrd.SrchCntrlNm + "," +
lo_CurrSrchRcrd.SrchFldNm + "," + lo_CurrSrchRcrd.SrchTblNm;

}

return ls_ConvertToValue;

}

return base.ConvertTo(context, culture, value, destType);

}

}

}






----------------------------------------------------------------------------
----

Unable to generate code for a value of type
'LCOGTools_WebForms_SrchRcrd.LCOGCntrlSrchRcrd'. This error occurred while
trying to generate the property value for SearchControl.
Description: An unhandled exception occurred during the execution of the
current web request. Please review the stack trace for more information
about the error and where it originated in the code.

Exception Details: System.Web.HttpException: Unable to generate code for a
value of type 'LCOGTools_WebForms_SrchRcrd.LCOGCntrlSrchRcrd'. This error
occurred while trying to generate the property value for SearchControl.

Source Error:

An unhandled exception was generated during the execution of the
current web request. Information regarding the origin and location of the
exception can be identified using the exception stack trace below.

Stack Trace:

[HttpException (0x80004005): Unable to generate code for a value of type
'LCOGTools_WebForms_SrchRcrd.LCOGCntrlSrchRcrd'. This error occurred while
trying to generate the property value for SearchControl.]

System.Web.Compilation.CodeDomUtility.GenerateExpressionForValue(PropertyInf
o propertyInfo, Object value, Type valueType) +2253

System.Web.Compilation.TemplateControlCompiler.BuildBuildMethod(ControlBuild
er builder, Boolean fTemplate, PropertySetterEntry pse) +2538

System.Web.Compilation.TemplateControlCompiler.BuildSourceDataTreeFromBuilde
r(ControlBuilder builder, Boolean fInTemplate, PropertySetterEntry pse) +794

System.Web.Compilation.TemplateControlCompiler.BuildSourceDataTreeFromBuilde
r(ControlBuilder builder, Boolean fInTemplate, PropertySetterEntry pse) +352

System.Web.Compilation.TemplateControlCompiler.BuildSourceDataTreeFromBuilde
r(ControlBuilder builder, Boolean fInTemplate, PropertySetterEntry pse) +352
System.Web.Compilation.TemplateControlCompiler.BuildMiscClassMembers()
+51
System.Web.Compilation.PageCompiler.BuildMiscClassMembers() +10
System.Web.Compilation.BaseCompiler.BuildSourceDataTree() +1276
System.Web.Compilation.BaseCompiler.GetCompiledType() +129
System.Web.UI.PageParser.CompileIntoType() +59
System.Web.UI.TemplateParser.GetParserCacheItemThroughCompilation() +126

[HttpException (0x80004005): Unable to generate code for a value of type
'LCOGTools_WebForms_SrchRcrd.LCOGCntrlSrchRcrd'. This error occurred while
trying to generate the property value for SearchControl.]
System.Web.UI.TemplateParser.GetParserCacheItemInternal(Boolean
fCreateIfNotFound) +692
System.Web.UI.TemplateParser.GetParserCacheItemWithNewConfigPath() +125
System.Web.UI.TemplateParser.GetParserCacheItem() +88
System.Web.UI.TemplateControlParser.CompileAndGetParserCacheItem(String
virtualPath, String inputFile, HttpContext context) +116
System.Web.UI.TemplateControlParser.GetCompiledInstance(String
virtualPath, String inputFile, HttpContext context) +36
System.Web.UI.PageParser.GetCompiledPageInstanceInternal(String
virtualPath, String inputFile, HttpContext context) +43
System.Web.UI.PageHandlerFactory.GetHandler(HttpContext context, String
requestType, String url, String path) +44
System.Web.HttpApplication.MapHttpHandler(HttpContext context, String
requestType, String path, String pathTranslated, Boolean useAppConfig) +699

System.Web.MapHandlerExecutionStep.System.Web.HttpApplication+IExecutionStep
..Execute() +95
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&
completedSynchronously) +173
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,764
Messages
2,569,567
Members
45,041
Latest member
RomeoFarnh

Latest Threads

Top