我想将一些参数传递给我的MVC UserControl,如ShowTitle(bool)和ViewData.Model.Row。我如何定义我的usercontrol并将它们传递给它? 坦
答案 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类的实例,填充数据并将其传递给视图。这就是你要找的东西吗?