相关疑难解决方法(0)

将多次调用的同一局部视图提交给控制器?

我在视图中添加了一个按钮.单击此按钮时,将添加部分视图.在我的表单中,我可以添加尽可能多的局部视图.提交此表单数据时,我无法将所有部分视图数据发送到控制器.我创建了一个具有所有属性的不同模型,并且我已经将该模型的列表添加到我的主模型中.任何人都可以给我一些技巧,以便我可以将所有部分视图内容发送到我的控制器?

在我看来

<div id="CSQGroup">   
</div>
<div>
  <input type="button" value="Add Field" id="addField" onclick="addFieldss()" />
</div>

function addFieldss()
{    
  $.ajax({
    url: '@Url.Content("~/AdminProduct/GetColorSizeQty")',
    type: 'GET',
    success:function(result) {
      var newDiv = $(document.createElement("div")).attr("id", 'CSQ' + myCounter);  
      newDiv.html(result);
      newDiv.appendTo("#CSQGroup");
      myCounter++;
    },
    error: function(result) {
      alert("Failure");
    }
  });
}
Run Code Online (Sandbox Code Playgroud)

在我的控制器中

public ActionResult GetColorSizeQty()
{
  var data = new AdminProductDetailModel();
  data.colorList = commonCore.getallTypeofList("color");
  data.sizeList = commonCore.getallTypeofList("size");
  return PartialView(data);
}

[HttpPost]
public ActionResult AddDetail(AdminProductDetailModel model)
{
  ....
}
Run Code Online (Sandbox Code Playgroud)

在我的部分视图中

@model IKLE.Model.ProductModel.AdminProductDetailModel
<div class="editor-field">
  @Html.LabelFor(model => model.fkConfigChoiceCategorySizeId)
  @Html.DropDownListFor(model => model.fkConfigChoiceCategorySizeId, …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc-4

26
推荐指数
1
解决办法
2万
查看次数

如何使用jQuery复制带有dropdownlist的表行

我有一个表,我想在按下添加新链接后克隆它的最后一行.当我的行中只有TextBoxes时它完全正常,但是当有一个下拉列表时它没有.请帮我修改jquery代码.这是表格的代码:

<div><a href="#" id="addNew">Add New</a></div>
                <table id="dataTable">
                    <tr>
                        <th>Item</th>
                        <th>Cost</th>
                        <th></th>
                    </tr>
                    @if (Model != null && Model.Count > 0)
                    {
                        int j = 0;
                        foreach (var i in Model)
                        {
                            <tr>
                                <td>@Html.DropDownListFor(a => a[j].fk_purchase_id, (SelectList)ViewBag.fk_purchase_id, null, htmlAttributes: new { @class = "form-control"})</td>
                                <td>@Html.TextBoxFor(a => a[j].cost, htmlAttributes: new { @class = "form-control" })</td>
                                <td>
                                    @if (j > 0)
                                    {
                                        <a href="#" class="remove">Remove</a>
                                    }
                                </td>
                            </tr>
                            j++;
                        }
                    }
                </table>
Run Code Online (Sandbox Code Playgroud)

这是需要一些改进的代码:

 <script>
        $(function () {
            //1. Add new row …
Run Code Online (Sandbox Code Playgroud)

html c# asp.net asp.net-mvc jquery

5
推荐指数
1
解决办法
694
查看次数

MVC 模型绑定与动态集合

根据关于ASP.NET Wire Format for Model Binding to Arrays, Lists, Collections, Dictionaries的开创性 Scott Hanselman 文章:

我们通过查找来读入属性 索引必须从零开始并且不间断parameterName[index].PropertyName

所以这个 HTML:

<input type="text" name="People[0].FirstName" value="George" />
<input type="text" name="People[1].FirstName" value="Abraham" />
<input type="text" name="People[2].FirstName" value="Thomas" />
Run Code Online (Sandbox Code Playgroud)

它将像这样发布:

发布数据 - People%5B0%5D.FirstName=George&People%5B1%5D.FirstName=Abraham&People%5B2%5D.FirstName=Thomas

但是,如果我通过 AJAX 将一个新人加载到我的模型中,我会丢失将该人构建到模型中的上下文并获得以下输出:

<input type="text" name="FirstName" value="New" />
Run Code Online (Sandbox Code Playgroud)

发布数据 - People%5B0%5D.FirstName=George&People%5B1%5D.FirstName=Abraham&People%5B2%5D.FirstName=Thomas&FirstName=John

这不会被模型活页夹拾取。

通过 AJAX 动态添加新元素时,如何保留表达式树?

这是一个MVCE

模型: /Model/Person.cs

public class PersonViewModel
{
    public List<Person> People { get; set; }
}
public class Person
{
    public String FirstName { get; set; …
Run Code Online (Sandbox Code Playgroud)

c# asp.net collections asp.net-mvc model-binding

4
推荐指数
1
解决办法
1万
查看次数