'IndexModel' does not contain a public instance or extension definition for 'GetEnumerator'

Viewed 39

Let me preface by saying that I am new to C# and CSHTML. I created a data entry form that is supposed to post the info submitted into a SQL DB and show the list of data in a new page. I'm stuck on the following error. Any Help would be greatly appreciated

CS1579 foreach statement cannot operate on variables of type 'IndexModel' because 'IndexModel' does not contain a public instance or extension definition for 'GetEnumerator'

@page

@model sUAS_WebApp.Pages.IndexModel

@{
    ViewData["Title"] = "sUAS Request Form";
}

@if (Model.errorMessage.Length > 0)
{
    <div class='alert alert-warning alert-dismissible fade show' role='alert'>
        <strong>@Model.errorMessage</strong>
        <button type='button' class='btn-close' data-bs-dismiss='alert' aria-label='close'></button>
    </div>
}

@foreach (var data in Model)
{
<form method="POST">
  
    <div class="container" style="border: 1px solid lightgrey;">
        <div class="col-100">
            <div class="row">
                <div class="row">
                    <div class="col-50">
                        <label for="Date">Date</label>
                        <input type="text" id="Date" name="Date" class="form-control" placeholder="01-JAN-2022" value="@data.sRequest.Date" />
                        <div class="row">
                            <div class="col-50">
                                <label for="RD">RD#</label>
                                    <input type="text" id="RD" name="RD" class="form-control" placeholder="AB000000" value="@data.sRequest.RD" />
                            </div>
                            <div class="col-50">
                                <label for="EV">EV#</label>
                                    <input type="text" id="EV" name="EV" class="form-control" placeholder="00000" value="@data.sRequest.EV" />
                            </div>
                        </div>
                    </div>
                </div>
                <label for="Requestor">Requestor</label>
                    <input type="text" id="Requestor" name="Requestor" class="form-control col-95" placeholder="Name / Star" value="@data.sRequest.Requestor" />
                <label for="Location">Location</label>
                    <input type="text" id="Location" name="Location" class="form-control col-95" placeholder="542 W. 15th Street" value="@data.sRequest.Location" />
                <div class="row">
                    <div class="col-50">
                        <label for="Unit_Piloting_Drone">Unit Piloting Drone</label>
                            <select id="Unit_Piloting_Drone" class="form-control" name="Unit_Piloting_Drone" value="@data.sRequest.Unit_Piloting_Drone">
                            <option value="select1"> </option>
                            <option value="techlab">TechLab</option>
                            <option value="maiu">auditor</option>
                            <option value="other">Forensics</option>
                        </select>
                    </div>
                    <div class="col-50">
                        <label for="Upload">Upload</label>
                            <select id="Upload" class="form-control" name="Upload" value="@data.sRequest.Upload">
                            <option value="select2"> </option>
                            <option value="UpYes">Yes</option>
                            <option value="UpNo">No</option>
                        </select>
                    </div>
                    <div class="col-50">
                        <label for="Evidence_com_ID">ID</label>
                            <input type="text" id="ID" name="ID" class="form-control" placeholder="Evidence.com ID" value="@data.sRequest.ID" />
                    </div>
                    <div class="col-50">
                        <label for="Refused">Refused</label>
                            <select id="Refused" class="form-control" name="Refused" value="@data.sRequest.Refused">
                            <option value="select3"> </option>
                            <option value="Yes">Yes</option>
                            <option value="No">No</option>
                        </select>
                    </div>
                </div>
                <label for="Call_Recieved_By"> Call Received By</label>
                    <input type="text" id="Call_Recieved_By" name="Call_Recieved_By" class="form-control" placeholder="Name / Star" value="@data.sRequest.Call_Recieved_By" />
                <div class="col-95">
                    <label for="Refusal_Circumstances">Refusal Circumstances</label>
                        <textarea id="Refusal_Circumstances" name="Refusal_Circumstances" class="form-control" placeholder="Wind Gusts Over 30mph" style="height:200px" value="@data.sRequest.Refusal_Circumstances"></textarea>
                </div>
                <input type="submit" value="Submit" class="btn">
            </div>
        </div>
    </div>

</form>
}
@if (Model.successMessage.Length > 0)
{
    <div class='alert alert-warning alert-dismissible fade show' role='alert'>
        <strong>@Model.successMessage</strong>
        <button type='button' class='btn-close' data-bs-dismiss='alert' aria-label='close'></button>
    </div>
}
<br />
<br />
<br />

using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using System.Data.SqlClient;

namespace sUAS_WebApp.Pages
{
   
public class IndexModel : PageModel
    {
        public sUASData sRequest = new sUASData();
        public String errorMessage = "";
        public String successMessage = "";
     
      
        public void OnGet()
        {
        }
        public void OnPost()
        {
            sRequest.Date = Request.Form["Date"];
            sRequest.RD = Request.Form["RD"];
            sRequest.EV = Request.Form["EV"];
            sRequest.Requestor = Request.Form["Requestor"];
            sRequest.Location = Request.Form["Location"];
            sRequest.Call_Recieved_By = Request.Form["Call_Recieved_By"];
            sRequest.Unit_Piloting_Drone = Request.Form["Unit_Piloting_Drone"];
            sRequest.Refused = Request.Form["Refused"];
            sRequest.Refusal_Circumstances = Request.Form["Refusal_Circumstances"];
            sRequest.Upload = Request.Form["Upload"];
            sRequest.ID = Request.Form["ID"];

                if ((sRequest.Date.Length == 0 || sRequest.Requestor.Length == 0 || sRequest.Location.Length == 0 || sRequest.Call_Recieved_By.Length == 0 || sRequest.Unit_Piloting_Drone.Length == 0 || sRequest.Refused.Length == 0 || sRequest.Upload.Length == 0))
            {
                errorMessage = "Please fill in all required fields";
                return;
            }
            //save the new request to the database
            try
            {
                String connectionString = "Data Source=.\\sqlexpress;Initial Catalog=sUASDatabase;Integrated Security=True";
                using (SqlConnection connection = new SqlConnection(connectionString))
                {
                    connection.Open();
                    string sql = "INSERT INTO sUAS" +
                        "(Date, RD, EV, Requestor, Location, Call_Recieved_By, Unit_Piloting_Drone, Refused, Refusal_Circumstances, Upload, ID) VALUES " +
                        "(@Date, @RD, @EV, @Requestor, @Location, @Call_Recieved_By, @Unit_Piloting_Drone, @Refused, @Refusal_Circumstances, @Upload, @ID);";

                    using (SqlCommand command = new SqlCommand(sql, connection))
                    {
                        command.Parameters.AddWithValue("@Date", sRequest.Date);
                        command.Parameters.AddWithValue("@RD", sRequest.RD);
                        command.Parameters.AddWithValue("@EV", sRequest.EV);
                        command.Parameters.AddWithValue("@Requestor", sRequest.Requestor);
                        command.Parameters.AddWithValue("@Location", sRequest.Location);
                        command.Parameters.AddWithValue("@Call_Recieved_By", sRequest.Call_Recieved_By);
                        command.Parameters.AddWithValue("@Unit_Piloting_Drone", sRequest.Unit_Piloting_Drone);
                        command.Parameters.AddWithValue("@Refused", sRequest.Refused);
                        command.Parameters.AddWithValue("@Refusal_Circumstances", sRequest.Refusal_Circumstances);
                        command.Parameters.AddWithValue("@Upload", sRequest.Upload);
                        command.Parameters.AddWithValue("@ID", sRequest.ID);
                        
                        command.ExecuteNonQuery();
                    }
                }
            }
            catch (Exception ex)
            {
                errorMessage = ex.Message;
                return;
            }

            sRequest.Date = ""; sRequest.Requestor = ""; sRequest.Location = ""; sRequest.Call_Recieved_By = ""; sRequest.Unit_Piloting_Drone = ""; sRequest.Refused = ""; sRequest.Upload = "";
            successMessage = "Request Successfully Entered";
            Response.Redirect("/RequestData");

        }
    }

}

Thanks

0 Answers
Related