如何将一些参数传递给不在ViewData中的MVC用户控件

时间:2008-12-19 20:34:55

标签: asp.net-mvc

我想将一些参数传递给我的MVC UserControl,如ShowTitle(bool)和ViewData.Model.Row。我如何定义我的usercontrol并将它们传递给它? 坦

2 个答案:

答案 0 :(得分:6)

您可以使用在codeplex处可用的MVC期货dll中找到的RenderAction HtmlHelper。在您的主页面中 ...

您需要在控制器上使用参数的操作方法。然后,该操作为usercontrol创建一个ViewData。 usercontrol作为视图返回

return View("usercontrolname", model);

然后.ascx文件仅将模型用于用户控件。生成的HTML将呈现在调用页面中。

答案 1 :(得分:1)

您可以将控件定义为

public partial class MyUserControl : System.Web.Mvc.ViewUserControl<MyUserControlViewData> {
}

public class MyUserControlViewData {
    public IList<MyData> MyData { get; set; }
    public string SomethingElse { get; set; }
}

之后,您可以在控制器中创建MyUserControlViewData类的实例,填充数据并将其传递给视图。这就是你要找的东西吗?