MVC 新手问题分为两部分,如果有人能提供帮助,非常感谢:1. 如何将字符串传递给此方法(我想将"?demo"附加到 URL 并在此基础上过滤结果):
public ActionResult Index(string id)
{
List<NewItem> items = _service.GetItems(id == "demo");
return View(items);
}
2. id == "demo" 作为参数传入是怎么回事,因为该方法指定了一个布尔值(并且它在此状态下编译并运行正常): 这是 GetItems 方法 public List GetItems(bool showDemo) { ... }最后这是我的注册路线内容:
routes.MapRoute(
name: "itemtitle",
url: "{Controller}/{action}/{id}/{itemtitle}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional,itemtitle=UrlParameter.Optional }
);
routes.MapRoute(
name: "Default",
url: "{Controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional}
);
假设这种情况:
public class TestController : Controller
{
public ActionResult Index(string id)
{
List<NewItem> items = _service.GetItems(id == "demo");
return View(items);
}
}
然后3种方式:
-
<baseurl>/Test/Index/12
-> 使用 id 参数 -
<baseurl>/Test/Index?id=12
-> 不带 id 参数 -
<baseurl>/Test?id=12
-> 使用默认操作,不带参数。
关于id == "demo"
的事情,这是一个简单的布尔条件:
"12" == "demo" -> false
"demo" == "demo" -> true