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