2012-04-23 136 views
0

我有一个视图,调用一些子控制器操作。其中一个子动作会检查一个可选的查询字符串值,这个特定的查询字符串将是一个整数,我想知道在子动作中是否将此值作为参数是谨慎的?ASP.Net MVC:应该如何将查询字符串参数传递给子操作?

我不使用参数的原因是因为视图将不得不解析查询字符串作为一个整数,并进行null检查,因此为什么孩子的行动只是检查内部的查询字符串的存在。

这是推荐的方法吗?或者在动作方法中有更多的参数(更可测试)?

感谢

回答

1

只需将使用Html.Action/Html.RenderAction,并通过您特别需要这种操作方法的数据:

public ActionResult Sample(SomeViewModel model) 
{ 
    // Do Stuff 
} 

然后在您的视图:

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

我意识到如何以这种方式实现它,但是我对推荐的方法更感兴趣? – Mantorok 2012-04-23 20:41:58

+0

这将是推荐的方法。您不必使用视图模型(它实际上可以是任何类型),但是您希望显式地从父模型传递参数。 – Tejs 2012-04-23 20:42:47

+0

谢谢,我基本上想知道的,仍然试图摆脱Web-Forms做事的方式:-) – Mantorok 2012-04-23 20:43:47

相关问题