Bonjour à tous, mon problème est, je pense, assez simple à résoudre mais étant débutant je ne vois pas comment procéder.

J'ai un controller Index qui me retourne les données de ma base de données dans une View, ce controleur me permet d'effectuer un filtrage sur les noms et de faire un tri par ordre croissant quand je clique sur la colonne correspondant à la date de création.
Mon problème est que si j'effectue un filtrage PUIS un tri cela me réaffiche toutes les données sans le filtrage.

L'inverse cependant fonctionne mais est moins intuitif pour un utilisateur.

Ci joint le code de mon controlleur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
namespace WebApplication1.Controllers
{
    public class t_process1Controller : Controller
    {
        private ZCAI_FAI_ProcessEntities3 db = new ZCAI_FAI_ProcessEntities3();
 
        // GET: t_process1
        public ActionResult Index(string sortOrder,string searchstring)
        {
            ViewBag.NameSortParm = String.IsNullOrEmpty(sortOrder) ? "name_desc" : "";
            ViewBag.DateSortParm = sortOrder == "Date" ? "date_desc" : "Date";
            var t_process = from p in db.t_process select p;
 
            if (!String.IsNullOrEmpty(searchstring))
            {
                t_process = t_process.Where(s => s.process_name.Contains(searchstring));
            }
 
            switch (sortOrder)
            {
 
                case "date_desc":
                    t_process = t_process.OrderBy(s => s.process_startdate);
                    break;
                default:
                    t_process = t_process.OrderBy(s => s.process_name);
                    break;
            }
            return View(t_process.ToList());
        }

Et une partie de ma View

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
@using (Html.BeginForm())
{
    <p>
        Find by name: @Html.TextBox("SearchString")
        <input type="submit" value="Search" />
    </p>
}
 
<table class="table">
    <tr>
        <th>
            Name
        </th>
        <th>
            @Html.ActionLink("Creation Date", "Index", new { sortOrder = ViewBag.DateSortParm })
        </th>
 
        <th>
            Description
        </th>
        <th>
            Item
        </th>
        <th>
            Item Part Number
        </th>
        <th>
            Item Revision Part
        </th>
        <th>
            State
        </th>
        <th></th>
    </tr>
Merci d'avance.