簡體   English   中英

Asp.net MVC將不使用razor參數

[英]Asp.net mvc won't take the razor parameter

我正在開發一個學校項目,該項目到目前為止進展順利,但問題終於解決了。

我的家庭控制器中有以下方法:

    [HttpPost]
    public ActionResult GetSeatsInShow(int showId)
    {
        ...
        return View(realSeatList);
    }

在我看來,我使用剃刀將參數解析到控制器,並且控制器應在如下地址中返回結果:

http://localhost:1499/Home/GetSeatsInShow/236

如果我在以下URL上的另一個名為Shows的控制器方法上執行此操作,則該操作:

http://localhost:1499/Home/Shows/1

但是我需要在GetSeatsInShow方法上放置?showId =像在下面的代碼片段一樣:

http://localhost:1499/Home/GetSeatsInShow/?showId=236

我的剃須刀ActionLink看起來像這樣:

@Html.ActionLink("Vælg", "GetSeatsInShow", new { id = item.Id })

某些Show方法可以正常工作,但結果與無效的結果相同,似乎找不到問題。

您有幾種選擇。

您當前正在將參數傳遞為id而不是showId,而您的控制器需要一個名為showId的參數。 結果,通過更新匿名類型,您可以傳遞正確的參數名稱。

@Html.ActionLink("Vælg", "GetSeatsInShow", new {  showId = item.Id })

另外,您可以簡單地在查詢字符串中傳遞“ id”,並允許默認的MVC綁定起作用,如果更新控制器,這是不可思議的:

@Html.ActionLink("Vælg", "GetSeatsInShow", new { id = item.Id })

[HttpPost]
public ActionResult GetSeatsInShow(int id)
{
    ...
    return View(realSeatList);
}

你可以試試這個

@Html.ActionLink("Vælg", "GetSeatsInShow", new { id = item.Id, showId = item.Id })

你正在服用的輸入showIdGetSeatsInShow和剃刀你逝去的id

[HttpPost]
public ActionResult GetSeatsInShow(int id)
{
    ...
    return View(realSeatList);
}

暫無
暫無

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

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