将数据从局部视图通过视图传递到MVC Razor应用程序中的控制器

时间:2014-11-24 10:38:16

标签: c# jquery asp.net-mvc asp.net-mvc-4 razor

如果有人可以解释或只是能够或不能......

我有一些视图有几个部分视图,我每个部分我都放了一些数据,在主视图中改变这个我点击提交按钮,

现在我的问题是如何将这些部分视图中的数据收集到我的控制器操作中(这是创建操作)

有关每个局部视图的更多详细信息,我有一些jQuery操作来处理这些数据,所以完美的例子将是通过这样的路径传递数据的例子:

jQuery - > partialView->查看 - >控制器

有没有办法在ViewBag或类似的东西中收集这些数据?

// ==================================

有更大的解释

我的应用程序具有模型配置:

    Configuration Model
    {
    public int ConfigurationId { get; set; }

    public string Name { get; set; }

    public DateTime? TimeStamp { get; set; }

    public virtual ICollection<Group> Groups { get; set; }
    public virtual ICollection<Reduction> Reductions { get; set; }
    public int AstroId { get; set; }
    public int DarkId { get; set; }
    public int TermoId { get; set; } 
    }

所以当打开一个创建配置时,我有一个页面,其中包含配置名称字段和一个下拉列表,我可以选择构建配置的元素集合(Astro,Dark,Termo),当我选择Astro,在第一个Dropdownlist下出现第二个下拉列表,包含可供选择的所有Astroes - 第二个下拉列表是部分视图。当我在第二个下拉列表中选择元素时,我将该元素添加到jQuery中的数组中,并在创建主视图的列表中显示值。

部分视图中有代码:

 @using SmartLightAPI.lampsCF
 @{
LampsContext dbContext = new LampsContext();
}
<script>
function wybierzClick() {
    if ($('#astroes :selected').text() != "---WYBIERZ---") {
      var Id = $('#astroes').val();
      var Txt = $('#astroes :selected').text();
      $('#astroList').text(Txt);
}};
</script>
<div class="form-group">
@Html.Label("wybierz Astro", new { @class = "control-label col-md-2" })
<div class="col-md-10">
    @Html.DropDownList("astroes", new SelectList(dbContext.Astros, "AstroID", "Name"), "---   W WYBIERZ---", new { @class = "form-control" }) <a href="#" onclick="wybierzClick()">Wybierz</a>
    @Html.ActionLink("Dodaj astro", "Create", "Astroes")
</div>
</div>

因为我选择它我想传递到“astroIdArray”的控制器值,其他元素的情况类似我猜我不必从主视图发布代码但是尽可能保持清晰我使用@用于在页面上包含部分视图的Html.Partial(“ReductionPartialViewResult”)。

0 个答案:

没有答案