Html Partial MVC传递模型

时间:2013-02-03 04:37:43

标签: asp.net-mvc model-view-controller

我试图在Partial Method

中传递此模型
@Html.Partial("_RefillModal",new Refill()
                                     {
                                         PatientId=Model.Id
                                     })

现在在_RefillModal中,我试图通过做Model.PatientId来读取PatientId。但是,我没有获得价值。

我可以通过这样做获得ID的值

@Html.Partial("_RefillModal",new Refill(),new ViewDataDictionary(){{"PatientId",Model.Id}})

以下是我在偏见视图中尝试做的事情

@Html.Hidden("Refill.PatientId",Model.PatientId)

这是发生的Html标记

<input id="PatientId" name="PatientId" type="hidden" value="">

然而,当我在页面的任何地方执行@ Modal.PatientId时,我确实得到了值

所以看起来,如果我在Form中放入任何东西,它会得到Overriden。有工作吗?

 @using (Html.BeginForm())
        {
//any custom input here gets overriden

}

1 个答案:

答案 0 :(得分:0)

由于您没有发布Partial View,因此很难看出问题出在哪里,但我会提供一些建议。确保您已在Model中声明实际的Refill属于_RefillModal类型。

@model Refill

下一步是确保您实际上在这行代码中传入一个值:

@Html.Partial("_RefillModal", new Refill()
                                 {
                                     /** Make sure that Model.Id actually 
                                         contains some value. */
                                     PatientId = Model.Id
                                 })