我正在学习 ASP.NET MVC,使用以下 url 格式很容易将单个值传递给视图:
控制器/视图/ ID
在控制器的代码中,我可以简单地定义整数 id 参数,如下所示:
ActionResult View(int? id)
{
}
但是什么是可接受的编程模式(在 ASP.NET MVC 中)来传递一系列值
控制器/视图/ id1-id2
View 方法(在代码隐藏中)会是什么样子?
我正在学习 ASP.NET MVC,使用以下 url 格式很容易将单个值传递给视图:
控制器/视图/ ID
在控制器的代码中,我可以简单地定义整数 id 参数,如下所示:
ActionResult View(int? id)
{
}
但是什么是可接受的编程模式(在 ASP.NET MVC 中)来传递一系列值
控制器/视图/ id1-id2
View 方法(在代码隐藏中)会是什么样子?
首先是
controller/action/some-url-segment
视图只是带有视图结果的操作方法返回的表示逻辑,通常将视图传递给模型。
其次:没有用于 ASP.NET MVC 视图的代码绑定文件,这不是 Web 表单。
服务器端可能的路由可以定义如下:
url: "{controller}/{action}/page-{pagenum}"
这将捕获任何网址,例如/admin/getuserlist/page-5
一个操作方法也会接收这些 url 段参数。
ActionResult GetUserList(int pagenum)
以上从路由中定义的 URL 段获取 ActionMethod 参数值。
您还可以通过查询字符串传递这些值:
/Admin/getuserlist?page=3&pagesize=45
使用查询字符串传递值时,您不需要修改路由。
和一条路线,例如url: {controller}/{action}/
很乐意将该请求传递给:
ActionResult GetUserList(int page, int pagesize)
/控制器/索引?var1=1&var2=2&var3=3
ActionResult Index(int? var1, int? var2, int? var3)
{
Return Content(
String.Format("You entered: {0}, {1}, {2}", var1, var2, var3));
}
结果:
You entered: 1, 2, 3
/Controller/Index?values=1&values=2&values=3
ActionResult Index(IEnumerable<int> values)
{
Return Content(
String.Format("You entered: {0}, {1}, {2}", values[0], values[1], values[2]));
}
结果:
You entered: 1, 2, 3
抱歉,我没有任何代码隐藏经验。我很好奇,你为什么用它?