ASP.NETMVC控制器Controller中参数
前述⽂章参见:
绪论
之前的控制器返回的均为常量字符串,接下来展⽰如何获取请求传来的参数,⽽返回“动态”的字符串。
可以在操作⽅法Browse添加⼀个string类型的genre参数,以实现获取请求传来的字符串值。当这个⽅法被调⽤时,ASP.NET MVC可以⾃动将名为“genre”的查询字符串或者表单提交参数传递给Browse操作⽅法。
public string Browse(string genre)
{
string message = HttpUtility.HtmlEncode("Store.Browse,Genre=" + genre);
return message;
mvc的controller}
可以浏览到/Store/Browse?genre=4查看效果(如下图),应该返回Store.Browse,Genre=4。注意:这⾥之所以使⽤HttpUtility.HtmlEncode 预处理⽤户输⼊,这是为了防⽌⽤户注⼊Javascript或者HTML代码。
类似上⾯修改Browse⽅法那样,修改Details⽅法,添加⼀个int类型的id参数,如下:
public string Details(int id)
{
string message = HttpUtility.HtmlEncode("Store.Details,ID=" + id);
return message;
}
可以浏览到/Store/Details/4查看效果,可以发现Details⽅法获取到了请求传来的参数4,这是因为ASP.NET MVC的默认路由规定,将操作⽅法名称后⾯的URL的字符作为⼀个参数,该参数的名称为ID,如果⽅法有名为ID的参数,那么ASP.NET MVC将⾃动将这些字符作为参数传递过来。
总结
1.路由将URL映射到控制器中的⽅法,并且ASP.NET MVC使得路由的实现细节对开发者是透明的
2.控制器将视图作为字节序列(通常为HTML)返回给浏览器
3.实际上,控制器很少返回原始的字符串,它通常返回合适的ActionResult来处理类似HTTP状态码,HTML视图这样的事项

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。