J'ai une liste déroulante dans une vue. Ce que je veux, c'est que chaque utilisateur sélectionne la valeur dans Dropdownlist, le contrôleur prend la valeur sélectionnée et l'utilise comme paramètre pour la requête à la base de données.Valeur de liste déroulante Asp.Net MVC en tant que paramètre
est la vue ici:
@using (Html.BeginForm("Index", "Home"))
{
@Html.DropDownList("Dropdown", new List<SelectListItem>
{new SelectListItem {Text="All Assignments", Value = "All" },new SelectListItem {Text="Open Assignments", Value = "Admin"},
new SelectListItem{Text="Close Assignments", Value = "Admin"}},"Select One", new { @class = "form-control", style = "width:300px; height:35px;" })
<h3 style="margin-top:10px;">List of Assignment</h3>
<table id="myTable" class="table table-hover table-striped">
//Table Content
</table>
}
Et voici le contrôleur:
public ActionResult Index(string username)
{
string val = Request.Form["Dropdown"];
val = Request["Dropdown"];
string nama = string.Empty;
if (val == null)
{
nama = "admin";
}
else
{
nama = val;
}
if (Session["username"] != null)
{
string user = Session["username"].ToString();
SqlConnection conn = new SqlConnection(connString);
conn.Open();
string sqlQuery = @"select Animals, Gender from dbo.Animals where Pemilik = @user";
//string h = x => x.
SqlCommand cmd = new SqlCommand(sqlQuery, conn);
cmd.Parameters.AddWithValue("@user", nama);
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
conn.Close();
return View(dt);
}
else
{
return RedirectToAction("Login", "Login");
}
}
J'ai essayé d'utiliser FormCollection
pour obtenir la valeur sélectionnée dropdownlist, mais il est dit Object Reference Not Set To An Instance Of object
. Donc, je décide d'utiliser Request.Form
. Cependant, je ne suis toujours pas sûr que string val
contient de la valeur.
Comment envoyez-vous la valeur sélectionnée au contrôleur? Est-ce à travers le formulaire de soumission? ou ajax? – Shyju
@Shyju: Je me réfère à cette question pour envoyer le valut dans le contrôleur. https://stackoverflow.com/questions/27901175/how-to-get-dropdownlist-selected-in-controller-in-mvc – Icon
Si vous envoyez un formulaire, votre code 'chaîne val = Request.Form [" Dropdown "];' devrait fonctionner. Pourquoi pensez-vous que cela ne fonctionne pas? Avez-vous débogué votre code? Mettez les points d'arrêt et déboguez votre code. – Shyju