Asp.net mvc Net MVC:如何将查询字符串参数传递给子操作?

Asp.net mvc Net MVC:如何将查询字符串参数传递给子操作?,asp.net-mvc,view,controller,query-string,Asp.net Mvc,View,Controller,Query String,我有一个调用几个子控制器操作的视图。其中一个子操作将检查可选的查询字符串值,这个特定的查询字符串将是一个整数,我想知道在子操作中将这个值作为参数是否明智 我不使用参数的原因是,视图随后必须将查询字符串解析为整数,并执行空检查,因此子操作仅在内部检查查询字符串的存在 这是推荐的方法吗?或者在action方法中有一个参数更好(而且更容易测试) 谢谢您只需使用Html.Action/Html.RenderAction并将您需要的数据传递给此操作方法: public ActionResult Samp

我有一个调用几个子控制器操作的视图。其中一个子操作将检查可选的查询字符串值,这个特定的查询字符串将是一个整数,我想知道在子操作中将这个值作为参数是否明智

我不使用参数的原因是,视图随后必须将查询字符串解析为整数,并执行空检查,因此子操作仅在内部检查查询字符串的存在

这是推荐的方法吗?或者在action方法中有一个参数更好(而且更容易测试)


谢谢

您只需使用
Html.Action
/
Html.RenderAction
并将您需要的数据传递给此操作方法:

 public ActionResult Sample(SomeViewModel model)
 {
     // Do Stuff
 }
在你看来:

 @Html.Action("Sample", new { model =  new SomeViewModel { Property = "HelloWorld" } });

我知道如何以这种方式实现它,但我更感兴趣的是推荐的方法是什么?那将是推荐的方法。您不必使用视图模型(它实际上可以是任何类型),但您需要显式地从父模型传递参数。谢谢,这正是我想知道的,我仍然试图摆脱Web表单的工作方式:-)