Action au choix d'item combobox devexpress
Bonjour,
Je développe une application asp.net mvc, EF, et j’utilise les extensions de devexpress.
Je change la connexion au choix d'un item de combobox, cela marhe très bien.
Mon petit souci est de pouvoir rediriger après le choix d'un item vers une action d'un controlleur (exemple vers Home/Index).
Code dans _Layout
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
@Html.DevExpress().ComboBox(
settings =>
{
settings.Name = "ListItemTest";
settings.Enabled = true;
settings.Properties.ValueField = "value";
settings.Properties.TextField = "description";
settings.Properties.ClientSideEvents.SelectedIndexChanged = "function(s, e){SelectedId(s,e)}";
}).BindList(obj.Descendants("Base").Select(x => new
{
DbName = x.Attribute("value").Value,
AgenceName = x.Attribute("description").Value
}).ToList()).GetHtml()
....
....
....
<script>
function SelectedId(s, e) {
s == ComboBox
var data = {
SelectedItem: s.GetValue(),
};
$.ajax({
url: "/Home/Index",
type: "POST",
dataType: "json",
contentType: 'application/json',
data: JSON.stringify(data),
});
}
</script> |
Code d'Action Index de HomeController
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
[HttpPost]
public ActionResult Index(string SelectedItem)
{
ViewBag.testVar = SelectedItem;
Session["Provider"] = "System.Data.SqlClient";
Session["DbName"] = SelectedItem;
Session["ServerName"] = "localhost";
Session["User"] = "sa";
Session["Password"] = "password";
Session["DataModel"] = "MyDataModel";
return RedirectToAction("Home", "testView");
} |
Code action testView de HomeController
Code:
1 2 3 4 5 6 7 8 9 10
|
@{
ViewBag.Title = "testView";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>testView</h2>
@ViewBag.testVar |
Alors le code de l'action Index s'exécute correctement et change de connexion, c'est juste la partie de redirection qui ne marche pas.
Avez-vous une idée ?