0

我正在尝试将模型类存储传递给 RenderPartial。renderpartial 的目标是更改/设置此(存储)模型的值。我一直在尝试这样:

@{ Html.RenderPartial("test", new store(){Output=""}); }
@{ Html.RenderPartial("test", new store(){Output2=""}); }


public class store
    {
        public string Output { get; set; }
        public string Output2 { get; set; }
    }

部分“测试”必须更改输出属性。uberhaupt 可能吗?如果可以,该怎么做?renderpartial 包含一个 javascript 来计算属性的值。

4

2 回答 2

0

RenderPartial 旨在不从父级或模型的一部分获取任何数据。重载位于: http: //msdn.microsoft.com/en-us/library/system.web.mvc.html.renderpartialextensions.renderpartial (v=vs.108).aspx 告诉你对象不是自定义对象,而是意味着成为模型的一部分,例如 Model.Customers

将所需的值从您的模型传递给部分,并让部分创建它自己的对象。

如果你真的想将它传递给局部视图,那么为你的父视图创建一个新的视图模型,并在你的视图模型中设置输出属性并将其传递给局部视图。

另请注意,部分获取它自己的数据副本并且无法更新父副本,因此可能会破坏您在此处实际想要的内容。

如果您需要一些其他计算数据,请尽可能在将其传递给视图之前在控制器中执行此操作。

于 2012-09-05T07:11:56.087 回答
0
@store st = new store(){Output="", Output2=""};
@{ Html.RenderPartial("test", new RouteValueDictionary {{"output", st.Output}, {"output2", st.Output2}}); }
于 2012-09-05T06:49:17.530 回答