开发者

ASP.NET MVC - Passing a parameter to my action method?

开发者 https://www.devze.com 2023-01-15 09:56 出处:网络
public ActionResult RenderMyThing(IList<String> strings) { return View(\"RenderMyView\"); } 开发者_运维问答
    public ActionResult RenderMyThing(IList<String> strings)
    {
        return View("RenderMyView");
    }
开发者_运维问答

How do I pass in strings?

        routes.MapRoute("MyRoute", "RenderMyThing.aspx", new { controller = "My", action = "RenderMyThing" });

Is there a way I could pass in strings here?

Secondly, how does ASP.NET MVC know that action is my action, and controller is my controller. Like I saw this in samples, and it does work, but isn't it just an anonymous object with no type?


This is the provenance of model binding: the framework needs to have some instruction as to how to turn a "request", which comes out of the routing context, query string, forms collection, etc., into the parameters that your action method wants.

The DefaultModelBinder will generate a list if it sees that you have multiple key-value pairs with the same key (and appropriately typed/convertible values) - for the details, Phil wrote a good post about this:

If you need fancier binding requirements, you can implement a custom model binder and explicitly define how route values and the other bits get translated into objects (or collections of objects).

0

精彩评论

暂无评论...
验证码 换一张
取 消