一千萬個為什麽

搜索

url中的字符串參數


Hy Guys, 我必須在方法操作中傳遞一個字符串參數,因為我想在我的網站中使用asp.net MVC實現標簽搜索,但每次操作時都會傳遞一個空值。

我發布了一些代碼!

我嘗試創建一條個人路線。

 routes.MapRoute(
            "TagsRoute",
            "Tags/PostList/{tag}",
            new {tag = "" }
        );

我在每個標簽的視圖中的RouteLink是:

 

    ,    

我的方法動作是:

 public ActionResult PostList(string tag)
    {
        if (tag == "")
        {
            return RedirectToAction("Index", "Home");
        }
        else
        {
            var articoli = artdb.GetArticoliByTag(tag);

            if (articoli == null)
            {
              return RedirectToAction("Index", "Home");
            }

            return View(articoli);
        }
    }

問題是值標記始終為空,因此var articoli始終為空!

可能我的問題是標簽我必須做出與我的標簽參數相反的路線。

有人可以幫幫我嗎?

N.B我使用的是ASP.NET MVC 1.0而不是2.0!

最佳答案

你在哪裏放這個自定義路線定義?它應該之前 Default 之一。

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

    routes.MapRoute(
        "TagsRoute",
        "Tags/PostList/{tag}",
        new { controller = "Tags", action = "PostList", id = UrlParameter.Optional }
    );

    routes.MapRoute(
        "Default",
        "{controller}/{action}/{id}",
        new { controller = "Users", action = "Index", id = UrlParameter.Optional }
    );
}

轉載註明原文: url中的字符串參數

猜你喜歡