digitalwise
asked on
Convert VB to C#
We have this old code from an ASP website that we are moving over to ASP.NET C# - we are trying to make minimal changes to the old pages since it wasn't part of the contract but we need to swap this out to C# since all of the new stuff is in it. I have part of it but not the loop piece.
Old code
The start of my new code:
I get Non-invocable member 'WebPageRenderingBase.Requ est' cannot be used like a method.
Old code
For a = 1 to Request.Form("propertyid").Count
strSQL = "Insert into property_assign (assigned_to, propertyid) VALUES ("
strSQL = strSQL & "'" & Request.Form("assigned_to") & "',"
strSQL = strSQL & "'" & Request.Form("propertyid")(a) & "')"
The start of my new code:
foreach (var Properties in Request("propertyid")) {
sql2 = "Insert into property_assign (assigned_to, propertyid) VALUES (@0, @1)";
db.Execute(sql2, Request.Form("username"), Properties.propertyid);
I get Non-invocable member 'WebPageRenderingBase.Requ
Not a web guy here but -
Are you missing the count?
Request("propertyid")
or
Request("propertyid").Coun t
or
Request("propertyid").Coun t()
something like that maybe
Are you missing the count?
Request("propertyid")
or
Request("propertyid").Coun
or
Request("propertyid").Coun
something like that maybe
ASKER
Ah yes! That was dumb since i have written tons of code today - don't know why I missed it. So now I get
'char' does not contain a definition for 'propertyid' and no extension method 'propertyid' accepting a first argument of type 'char' could be found (are you missing a using directive or an assembly reference?)
I am not sure how to write that - basically looking for each item in the list from the Request["propertyid"] form field.
'char' does not contain a definition for 'propertyid' and no extension method 'propertyid' accepting a first argument of type 'char' could be found (are you missing a using directive or an assembly reference?)
var Properties in Request["propertyid"]
I am not sure how to write that - basically looking for each item in the list from the Request["propertyid"] form field.
Request.Form["propertyid"] .Length
ASKER
BillyDvD - what is that replacing?
Sorry - posted to soon - lol
You need to iterate 'something' that something was originaly the Count for "propertyid" -
So :
for (int i = 0; i < Request.Form["propertyid"] .Length; i++)
{
//---| Do you r string building here |---
}
You need to iterate 'something' that something was originaly the Count for "propertyid" -
So :
for (int i = 0; i < Request.Form["propertyid"]
{
//---| Do you r string building here |---
}
i may need to be 1 for the for loop instead of zero.....
ASKER
BillyDvD - how do I reference the value to save it though? I need the value of each iteration.
for ( int i = 0 ; i < this.Request.Form[ "propertyid" ].Length ; i++ )
{
string strSQL = "Insert into property_assign (assigned_to, propertyid) VALUES ('" + this.Request.Form[ "assigned_to" ] + "','" + this.Request.Form[ "propertyid" ][ i ] + "')";
//---| Now use the string..... |---
}
It is the [i] now - it was (a)
ASKER
That is giving me integers and not the actual value...
sql2 = "Insert into property_assign (assigned_to, propertyid) VALUES (@0, @1)";
db.Execute(sql2, this.Request.Form["username"], this.Request.Form["propertyid"][i]);
ASKER
I just looked at this more closely - this is a comma-delimited list of items - they are longer than one character so the length thing isn't going to work. IT looks like
Asdasd_123123, ASD_54123, FAS_2141...
Asdasd_123123, ASD_54123, FAS_2141...
Not sure if this will help:
string strSQL = string.Empty;
if ( this.Request.Form[ "propertyid" ].Length > 0 )
strSQL = "Insert into property_assign (assigned_to, propertyid) VALUES ('" + this.Request.Form[ "assigned_to" ] + "','" +
this.Request.Form[ "propertyid" ] + "')";
Do you need to iterate each piece of the comma delimeted list?
I am not sure what you are trying to "get" from this loop.
If you had the input to the loop and the outputs pre code change - then we can reverse engineer this much easier.
I am not sure what you are trying to "get" from this loop.
If you had the input to the loop and the outputs pre code change - then we can reverse engineer this much easier.
ASKER
I need the values from the list because we are creating a record for each of the properties. The code was super simple in VB...
For a = 1 to Request.Form("propertyid").Count
strSQL = "Insert into property_assign (assigned_to, propertyid) VALUES ("
strSQL = strSQL & "'" & Request.Form("assigned_to") & "',"
strSQL = strSQL & "'" & Request.Form("propertyid")(a) & "')"
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
digitalwise - Just to let you know, I may not be available the rest of this evening. I may be able to pick this back up around 6AM CST though.
Thanks
BillyDvD
Thanks
BillyDvD
ASKER
This was perfect!
Open in new window
instead of
Open in new window
You'll need to do the same with
Open in new window