Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > ASP .Net Building Controls > String Array Property produces Parser Error

Reply
Thread Tools

String Array Property produces Parser Error

 
 
Rémy Samulski
Guest
Posts: n/a
 
      01-03-2006
Dear readers,

I'm having problems with creating a custom control that accepts an
array of strings as a property. First I used the following code which
produced a Parser Error

<Bindable(True), Category(_ClassName)> _
Public Property [MenuItems]() As String()
Get
Return CType(ViewState("__stringMenuItems"), String())
End Get
Set(ByVal Value As String())
ViewState("__stringMenuItems") = Value
End Set
End Property

Afterwards I tried several attributes, one of them
(PersistenceMode(PersistenceMode.InnerDefaultPrope rty)) produces
additional "html" tags but this doesn't work either.

Does anyone know how to solve this?

Many thanks,
Rémy Samulski

 
Reply With Quote
 
 
 
 
Mike MacMillan
Guest
Posts: n/a
 
      01-03-2006
Rémy,
it is fully possible to create a property who's underlying type is a
string array. rather then dealing with the sizing issues of a static
array though, perhaps you could make that property an Arraylist or
Hashtable?

Mike MacMillan

Rémy Samulski wrote:
> Dear readers,
>
> I'm having problems with creating a custom control that accepts an
> array of strings as a property. First I used the following code which
> produced a Parser Error
>
> <Bindable(True), Category(_ClassName)> _
> Public Property [MenuItems]() As String()
> Get
> Return CType(ViewState("__stringMenuItems"), String())
> End Get
> Set(ByVal Value As String())
> ViewState("__stringMenuItems") = Value
> End Set
> End Property
>
> Afterwards I tried several attributes, one of them
> (PersistenceMode(PersistenceMode.InnerDefaultPrope rty)) produces
> additional "html" tags but this doesn't work either.
>
> Does anyone know how to solve this?
>
> Many thanks,
> Rémy Samulski


 
Reply With Quote
 
 
 
 
Rémy Samulski
Guest
Posts: n/a
 
      01-05-2006
Dear Mike,

Thx for replying my question but I don't have any problems with sizing
issues of a string array. What I'm trying to do is to make a custom
control that can be set on design time in Visual Studio.net 2003.
That's why I have chosen a String array and not for example an
ArrayList (which can't be filled on design-time (one can only add
Objects without filling the values). Everything works well except when
I fill the String Array the HTML code of the concerned object is:

<cc1:TabPages id="TabPages4" runat="server" MenuItems="String[]
Array"></cc1:TabPages>

The parser than (after saving and reopening the WebForm) throws an
parser error stating it can't create an object of type
'System.String[]' from its string representation 'String[] Array' for
the 'MenuItems' property.

When I insert the
(PersistenceMode(PersistenceMode.InnerDefaultPrope rty)) attribute in
the code above (see first post) the HTML code changes to:

<cc1:TabPages id="TabPages5" runat="server">
<System.String Length="4"></System.String>
<System.String Length="8"></System.String>
</cc1:TabPages>

But now the parser return the error: '' could not be set on property
'MenuItems'. Furthermore when I select the view HTML the HTML code
shows the error: The active schema does not support the element
'System.String'.

Anyone an example on how to implement an array property which can be
edited on design time?

Many thanks,
Rémy

 
Reply With Quote
 
Mike MacMillan
Guest
Posts: n/a
 
      01-06-2006
Remy,
it is possible to have a variable represet a string array, but there
will need to be a bit of extra work on your side. if this property
will be hardcoded into the tag, you can build the property perhaps
during the AddParsedSubObject method of the page/control that contains
your custom control. ex:

<cc1:Something someAttrib="12,33,45,66,77,823,12"/>

this could be parsed into an int or string array during the
AddParsedSubObject method (or OnInit, or whatever...). you could even
provide a custom Set accessor for the property that exposes this array,
and parse the deliminated string there. easy answer though, you won't
be able to define on the frontend the contents of the array, you will
need a bit of manual work to make it an array.

Mike


Rémy Samulski wrote:
> Dear Mike,
>
> Thx for replying my question but I don't have any problems with sizing
> issues of a string array. What I'm trying to do is to make a custom
> control that can be set on design time in Visual Studio.net 2003.
> That's why I have chosen a String array and not for example an
> ArrayList (which can't be filled on design-time (one can only add
> Objects without filling the values). Everything works well except when
> I fill the String Array the HTML code of the concerned object is:
>
> <cc1:TabPages id="TabPages4" runat="server" MenuItems="String[]
> Array"></cc1:TabPages>
>
> The parser than (after saving and reopening the WebForm) throws an
> parser error stating it can't create an object of type
> 'System.String[]' from its string representation 'String[] Array' for
> the 'MenuItems' property.
>
> When I insert the
> (PersistenceMode(PersistenceMode.InnerDefaultPrope rty)) attribute in
> the code above (see first post) the HTML code changes to:
>
> <cc1:TabPages id="TabPages5" runat="server">
> <System.String Length="4"></System.String>
> <System.String Length="8"></System.String>
> </cc1:TabPages>
>
> But now the parser return the error: '' could not be set on property
> 'MenuItems'. Furthermore when I select the view HTML the HTML code
> shows the error: The active schema does not support the element
> 'System.String'.
>
> Anyone an example on how to implement an array property which can be
> edited on design time?
>
> Many thanks,
> Rémy


 
Reply With Quote
 
Rémy Samulski
Guest
Posts: n/a
 
      01-11-2006
Dear Mike,

OK this is the "over my head" stuff. Is it possible to add some
attribute to a property that will prevent the value to be set in the
HTML? What I'm proposing is 2 properties: one will be the in the
background property that isn't visible in the IDE (<Browsable(False),
EditorBrowsable(EditorBrowsableState.Never)>). This background property
will be a string that has to be splitted to get the array we want. The
other is a array property that can be edited using the IDE, but it
shouldn't add any values in the HTML part in order to not rise a parser
error.

Hmm, hope it is clear what I'm trying to say =(

Many thanks for your previous answers hope you can help me out with
this,
Rémy

 
Reply With Quote
 
Mike MacMillan
Guest
Posts: n/a
 
      01-13-2006
Remy,
so what you're saying is you'd like to have 2 properties; one will
return string and will hold a delimited set of data, the other will be
an array and will hold the delimited data in a strongly typed array.
further, you'd like the user to modify the array's contents using the
IDE, and have that persist the correct delimited string in the string
property? you will need custom design time support for your control to
set the contents of that property correctly. also, being the IDE can't
see the string property, users coding directly(such as with notepad)
will still see the string property as a valid property to assign to.

Mike MacMillan

Rémy Samulski wrote:
> Dear Mike,
>
> OK this is the "over my head" stuff. Is it possible to add some
> attribute to a property that will prevent the value to be set in the
> HTML? What I'm proposing is 2 properties: one will be the in the
> background property that isn't visible in the IDE (<Browsable(False),
> EditorBrowsable(EditorBrowsableState.Never)>). This background property
> will be a string that has to be splitted to get the array we want. The
> other is a array property that can be edited using the IDE, but it
> shouldn't add any values in the HTML part in order to not rise a parser
> error.
>
> Hmm, hope it is clear what I'm trying to say =(
>
> Many thanks for your previous answers hope you can help me out with
> this,
> Rémy


 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
OutputStream from a URLConnection produces an OutOfMemory OutputStream from a URLConnection produces an OutOfMemory WinstonSmith_101@hotmail.com Java 2 10-25-2006 04:45 PM
binding webcontrol to a C# method that produces string with xml data jason@cyberpine.com ASP .Net 0 09-22-2006 08:08 PM
Parser Error: Type XYZ does not have a property named 'cc3:MyItems' (complete posting) ASP.NET Web Control Error ~~~ .NET Ed ~~~ ASP .Net Building Controls 1 11-13-2004 12:46 PM
Error Creating Control: Parser Error DocHeader does not have a property named 'cc3:MyItems' ~~~ .NET Ed ~~~ ASP .Net 0 11-10-2004 05:24 PM
Error Creating Control: Parser Error DocHeader does not have a property named 'cc3:MyItems' ~~~ .NET Ed ~~~ ASP .Net Building Controls 0 11-10-2004 05:24 PM



Advertisments
 



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57