Hi Sam,
I am also having problems with the Response.Write() method and would appreciate very much if you could shed some light. Here is the error messege I get when I run the code below to call the build_form() method.
'cannot convert from void to string'
'the best overload method match for System.Web.HttpResponse.Write(string) has some invalid arguments'
Response.Write(build_form(form_variables, errors, new PHP.OrderedMap(Request.Form, false)));
Response.Write(build_form(form_variables, new PHP.OrderedMap(), new PHP.OrderedMap()));
This is an extract of the the build_form method. Please find the full method below:
public virtual void build_form(PHP.OrderedMap form_variables, PHP.OrderedMap errors, PHP.OrderedMap data)
{
......
}
FULL C# VERSION
public virtual void build_form(PHP.OrderedMap form_variables, PHP.OrderedMap errors, PHP.OrderedMap data)
{
// Ensure $errors and $data have empty strings for incorrect fields
object javascript;
foreach (object name in form_variables.GetKeysOrderedMap(null).Values)
{
data[name] = (data[name] != null) ? System.Web.HttpUtility.HtmlEncode(data[name].ToString()) : "";
if (!(errors[name] != null))
{
errors[name] = "";
}
else if (PHP.TypeSupport.ToBoolean(errors[name]))
{
data[name] = "";// Don't redisplay invalid data
}
}
javascript = build_javascript(form_variables);
Response.Write(" <script type=\"text/javascript\">\r\n" +
" " + javascript + "\r\n" +
" </script>\r\n" +
" <script type=\"text/javascript\" src=\"genericValidation.
js\"></script>\r\n" +
" <form action=\"\" method=\"post\">\r\n" +
" <p>\r\n" +
" <label for=\"email\">Email address</label>\r\n" +
" <input type=\"text\" name=\"email\" id=\"email\"\r\n" +
" value=\"" + data["email"] + "\">\r\n" +
" <span id=\"error_email\" class=\"errormessage\"\r\n" +
" >" + errors["email"] + "</span>\r\n" +
" </p>\r\n" +
" <p>\r\n" +
" <label for=\"phone\">Phone number</label>\r\n" +
" <input type=\"text\" name=\"phone\" id=\"phone\"\r\n" +
" value=\"" + data["phone"] + "\">\r\n" +
" <span id=\"error_phone\" class=\"errormessage\"\r\n" +
" >" + errors["phone"] + "</span>\r\n" +
" </p>\r\n" +
" <p>\r\n" +
" <label for=\"country\">Country code</label>\r\n" +
" <input type=\"text\" name=\"country\" id=\"country\"\r\n" +
" size=\"2\" maxlength=\"2\" value=\"" + data["country"] + "\">\r\n" +
" <span id=\"error_country\" class=\"errormessage\"\r\n" +
" >" + errors["country"] + "</span>\r\n" +
" </p>\r\n" +
" <p><input type=\"submit\" value=\"submit\"></p>\r\n" +
" </form>");
}
EXTRACT PHP VERSION
function build_form($form_variables, $errors=array(), $data=array()) {
// Ensure $errors and $data have empty strings for incorrect fields
foreach (array_keys($form_variables) as $name) {
$data[$name] = isset($data[$name]) ? htmlspecialchars($data[$name]) : '';
if (!isset($errors[$name])) {
$errors[$name] = '';
} elseif ($errors[$name]) {
$data[$name] = ''; // Don't redisplay invalid data
}
}
$javascript = build_javascript($form_variables);
echo <<<EOD
<script type="text/javascript">
$javascript
</script>
<script type="text/javascript" src="genericValidation.
js"></script>
........
........
Cheers
C