Mitten
问问题
267 次
0

我正在学习 ASP.NET MVC,使用以下 url 格式很容易将单个值传递给视图:

控制器/视图/ ID

在控制器的代码中,我可以简单地定义整数 id 参数,如下所示:

ActionResult View(int? id)
{
}

但是什么是可接受的编程模式(在 ASP.NET MVC 中)来传递一系列值

控制器/视图/ id1-id2

View 方法(在代码隐藏中)会是什么样子?

4

2 回答 2

0

首先是

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)
于 2013-04-12T09:59:55.390 回答
0

/控制器/索引?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

抱歉,我没有任何代码隐藏经验。我很好奇,你为什么用它?

于 2013-04-12T01:36:16.510 回答