В приложении ASP.net MVC я пытаюсь выполнить простой запрос SQL, который возвращает результаты, относящиеся к вошедшему в систему пользователю. Я попытался отладить это, записав соответствующие переменные в окно вывода, но, похоже, ни одна из них не решила мою проблему. Код выполняется правильно, но на мой взгляд, ничего не заполнено.
Контроллер:
public ActionResult peerListList()
{
var model2 = new PeerListViewModel();
var model = new List<peerlist>();
var connectionstring = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
using (SqlConnection con = new SqlConnection(connectionstring))
try
{
// Your code
con.Open();
int counter = 0;
using (SqlCommand cmd = new SqlCommand("", con))
{
cmd.CommandText = "SELECT ListID, ListName FROM peerLists WHERE UserID = @userid";
cmd.Parameters.Add("@userid", SqlDbType.Text);
cmd.Parameters["@userid"].Value = System.Web.HttpContext.Current.User.Identity.GetUserId();
SqlDataReader reader = cmd.ExecuteReader();
if (reader == null || !reader.HasRows)
{
System.Diagnostics.Debug.WriteLine("reader has no rows");
}
else
{
while (reader.Read())
{
counter++;
var u = new peerlist();
u.peerlistid = reader["ListID"].ToString();
u.peerlistname = reader["ListName"].ToString();
model.Add(u);
}
System.Diagnostics.Debug.WriteLine(counter);
}
}
}
catch
{
// Catch exception
}
finally
{
// Close the connection
con.Close();
}
model2.peerlist = model;
return View(model2);
}
Модель:
public class PeerListViewModel
{
public List<peerlist> peerlist { get; set; }
}
public class peerlist
{
public string peerlistname { get; set; }
public string peerlistid { get; set; }
}
Вид:
@model WebApplication12.Models.PeerListViewModel
@foreach (var u in Model.peerlist)
{
<p>@u.peerlistname</p>
}