簡體   English   中英

MVC 4 ASP.NET中的訂單列表,即控制器接收2個變量

[英]Order List in MVC 4 ASP.NET i.e. Controller receiving 2 variables

我試圖重寫默認的MVC索引控制器,該控制器顯示數據庫中的記錄列表。 我正在嘗試按標題中的1個功能排序並在頁面上進行搜索:

控制器代碼:

public ActionResult Index(String sortOrder, String searchString) {
        ViewBag.NameSortParm = String.IsNullOrEmpty(sortOrder) ? "Name_desc" : "";
        var profiles = from s in db.Profiles
                       select s;

        if (!String.IsNullOrEmpty(searchString))
        {
            profiles = profiles.Where(d => d.lastName.ToUpper().Contains(searchString.ToUpper()));
        }
        switch (sortOrder)
        {
            case "Name_desc":
                profiles = profiles.OrderByDescending(s => s.lastName);
                break;
            default:
                profiles = profiles.OrderBy(s => s.lastName);
                break;
        }
        return View(profiles.ToList());
    }

查看代碼:

<th>
    @Html.ActionLink("Last Name", "Index", new { sortOrder = "Name_desc" })
</th>

我一直在嘗試各種方法,但是好像我沒有成功使用@ html.actionLink調用控制器方法

完全按照本教程操作,但不起作用: http : //www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/sorting-filtering-and-paging-with-the-entity-framework-在asp-net-mvc應用程序中

因此,為了解釋我如何解決答案...

actionResult是一個HttpPost返回。 因此,僅在單擊按鈕時它將接受輸入。 似乎@ HTML.actionlinks僅調用視圖方法。

我只是創建了一個新的Index(String sortOrder, String searchString)方法,視圖代碼為@Html.ActionLink("Last Name", "/Index", new { sortOrder = ViewBag.NameSortParm})

它很雜亂,但仍然解決了我的問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM