I will like to pass the variable "totalCount" to my view and let this display in a label or text area when my view loads. Here is my code below. How can I achieve this in Mvc 3?
Here is my class
public class person
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Address { get; set; }
public person(int myId, string myFirstname, string myLastname, string myAddress)
{
Id = myId;
FirstName = myFirstname;
LastName = myLastname;
Address = myAddress;
}
}
Here is my controller ....
namespace WriteObjectToDb.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
int result;
List<person> mn = new List<person>();
mn.Add(new person(1,"john", "adebayo", "shobanjo close jericho"));
mn.Add(new person(2, "david", "johnson", "ibada close"));
mn.Add(new person(3, "bayo", "olomale", "oluyole estate ringroad"));
result = WriteToDb(mn);
return View(mn);
}
public ActionResult About()
{
return View();
}
/// <summary>
///
/// </summary>
/// <param name="mn"></param>
/// <returns></returns>
private int WriteToDb(List<person> mn)
{
int totalCount;
string connect = string.Empty;
using (TransactionScope scope = new TransactionScope())
{
string sqlIns = "insert into table(firstname,lastname,address) values(@firstname,@lastname,@address)";
SqlConnection cn = new SqlConnection(connect);
SqlCommand cmdIns = new SqlCommand(sqlIns,cn);
for(int i=0;i<mn.Count;i++)
{
cmdIns.Parameters.AddWithValue("@firstname",mn[i].FirstName);
cmdIns.Parameters.AddWithValue("@lastname",mn[i].LastName);
cmdIns.Parameters.AddWithValue("@address",mn[i].Address);
cmdIns.ExecuteNonQuery();
cmdIns.Parameters.Clear();
}
scope.Complete();
totalCount = mn.Count();
return totalCount;
}
}
}
}
Here is my view.....
@model IEnumerable<WriteObjectToDb.Models.person>
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table>
<tr>
<th>
FirstName
</th>
<th>
LastName
</th>
<th>
Address
</th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.FirstName)
</td>
<td>
@Html.DisplayFor(modelItem => item.LastName)
</td>
<td>
@Html.DisplayFor(modelItem => item.Address)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id=item.Id }) |
@Html.ActionLink("Details", "Details", new { id=item.Id }) |
@Html.ActionLink("Delete", "Delete", new { id=item.Id })
</td>
</tr>
}
</table>