Jquery 局部视图使用的模型与包含它的页面不同?

Jquery 局部视图使用的模型与包含它的页面不同?,jquery,asp.net-mvc,model,viewmodel,partial-views,Jquery,Asp.net Mvc,Model,Viewmodel,Partial Views,我的主页中有一个局部视图,它使用了与主页不同的模型 简而言之,我的主页上有一个下拉控件,它使用一个模型填充其选项。当选择一个选项时,我有一个脚本,它会将所选选项发布到主控制器中的另一个操作方法。该方法接受该值,并根据该值运行db查询。然后我将这些结果放入一个模型,并将该模型传递给我的局部视图。部分视图被呈现,然后转换为HTML标记,并在JSON对象中传递回脚本。然后,脚本将生成的视图标记写入主页中的div 我的问题是,我得到一个错误,说部分视图正在寻找一个模型,而它得到的模型是主页的模型,而不是

我的主页中有一个局部视图,它使用了与主页不同的模型

简而言之,我的主页上有一个下拉控件,它使用一个模型填充其选项。当选择一个选项时,我有一个脚本,它会将所选选项发布到主控制器中的另一个操作方法。该方法接受该值,并根据该值运行db查询。然后我将这些结果放入一个模型,并将该模型传递给我的局部视图。部分视图被呈现,然后转换为HTML标记,并在JSON对象中传递回脚本。然后,脚本将生成的视图标记写入主页中的div

我的问题是,我得到一个错误,说部分视图正在寻找一个模型,而它得到的模型是主页的模型,而不是它自己的模型。有什么简单的方法可以补救吗?我无法将这两个模型包装到另一个模型视图模型中,因为这两个模型通过不同的操作方法传递

以下是相关代码,希望能有所帮助:

控制器

主视图

局部视图

你试过

Html.Partial("~/Views/Home/RetrieveSamples.cshtml",new SomeModel())

所以我想我解决了这个问题——事实证明我真的不需要Html.Partial,因为我的脚本以Html的形式获取渲染视图。helper方法是不必要的。

我没有,但我会尝试一下。事实上,现在我想起来了,我不认为这能解决我的问题。这条线仍然在主视图中,所以我必须以某种方式将模型放到那里,这是我的问题。
<!DOCTYPE html>

<html>
    @using SampleTracking.Models.ViewModels;
    @model SamplingEventsVM
    <head>
        <title>@ViewBag.Title</title>
        <script src="~/Scripts/jquery-2.1.1.js"></script>
        <script type="text/javascript" src="~/Scripts/CustomScripts.js"></script>        
    </head>
    <body>
        <span id="SamplingEventDiv">
            @Html.DropDownListFor(model => model.SelectedSamplingEvent, Model.SamplingEvents, new { @id = "SamplingEventSelection" })
        </span>
        <div id="SamplingEventDetails">
            @Html.Partial("~/Views/Home/RetrieveSamples.cshtml")
        </div>
    </body>
</html>
@using System.Collections.ObjectModel;
@using SampleTracking.Models.ViewModels;
@model ObservableCollection<Sample>
<div id="SamplingEventDetails">
    @foreach (var sample in Model)
    {
        <div>sample.SampleID</div>
    }
</div>
Html.Partial("~/Views/Home/RetrieveSamples.cshtml",new SomeModel())