在视图的现有表中插入新行

时间:2014-11-05 03:25:14

标签: asp.net-mvc html-table

这是我在视图中的表(cshtml):

  <table id="tblketquatk" class="thongke2socuoi">
        <tbody>
            <tr>
                <th>Số</th>
                <th>Ngày về gần nhất</th>
                <th>Số lần xuất hiện</th>
                <th>Số ngày chưa về</th>
            </tr>
        </tbody>
    </table>

在控制器中:

    [HttpPost]//Run action method on form submission
    public ActionResult LastTwoSubmit(string cityID, string numbers, int days, bool onlySpecial)
    {
        // get the result from sql server based on the parameters 
        // now i want to append the result to the table tblketquatk
        return View();
    }

现在我想将结果附加到表tblketquatk,无论如何都可以在不使用Javascript的情况下执行此操作?

我在使用JQuery之前已经这样做了,它将使用Ajax将结果附加到现有表中而无需重新加载页面。

链接到JsFiddle以获得更好的效果。

我想要的是如何将新返回的数据集插入表中,并且表单上的参数保持不变/重置。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

您需要绑定模型才能将模型返回到视图

public class SearchViewModel
{
  public int Days { get; set; }
  ....
}

public class MainViewModel
{
  public SearchViewModel Search { get; set; }
  // Add a property for the collection of items you are rendering in the table
}

查看

@model MainViewModel
@using (Html.BeginForm())
{
  @Html.TextBoxFor(m => m.Search.Days)
  ....
  <input type="submit" ... />
}
// add loop to create table rows

控制器

[HttpPost]
public ActionResult LastTwoSubmit(MainViewModel model)
{
  // use the values of model.Search to query the database and add to the model collection
  return View(model);
}

因为您现在将表单属性绑定到模型并返回该模型,所以返回视图时将保留这些值。