如何在asp.net mvc

时间:2017-04-22 12:14:01

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

在我的局部视图中,我有一个foreach循环来显示表格

像这样

 <table id="tableid">
    <thead>
<tr>
    <th>column1</th>
    <th>column2</th>
    <th>column3</th>
</tr>
    </thead>
    <tbody>
    foreach(mymodel item in ineumerable<mymodel>)
    {
    <tr onclick=getdetails(this)><td>@item.coloumn1value</td>
    <td>@item.coloumn2value</td>
    <td>@item.coloumn3value</td></tr>
    }

这是在我使用ajax调用填充

的视图中的局部视图

现在在我的.js中 - 我必须得到一个带行的dom元素,以便我可以使整个表成为json结果并再次发送控制器动作以显示但

执行doucment.all.tableid.rows[]时 - 其行始终为0。 因此无法获得行方式信息并执行一些操作并将其发送到控制器

第一个qs - 有没有办法获取这个表的行?

doucment.all.tableid.innerHTML包含

等全部数据

'\n<thead> coulmn1 \r\n\r\n .......</tbody>包含所有数据

doucment.all.tableid.outerHTML包含标记

的整个数据

现在如何将它转换为dom元素或如何使其成为jsonobject或复杂对象,以便我将每个行进行操作并将整个表作为对象发送到控制器

当我点击任意一行时,底部页面中的另一个局部视图加载包含所有三个文本框,其中包含该单行的每个属性和一个名为save

的按钮
 @Html.TextBoxFor(m => m.coloumn1value)

 @Html.TextBoxFor(m => m.coloumn2value)

 @Html.TextBoxFor(m => m.coloumn3value)
 <input type="button" value="save" onclick="savechanges()">

这里他们可以编辑它,如果他们点击按钮保存就会立即显示在上表中

现在在我的父视图中 有两个div

表占位符正在被这样的ajax调用填充

var details = {
            _ID: ID,

        }
        $.ajax({
            url: "/MyController/GetTheTableForThisID",
            type: "POST",
            dataType: "html",
            data: details,
            success: function (data) {
                $('#tablePlaceHolder').html(data);

            }
        });

我从preious页面获取ID,_ID是模型属性

  public PartialViewResult GetTheTableForThisID(MyModel model)
{

        //loading the values in Ienumerable of this class to ietrate

return PartialView("tablepartialviewname",model)   ;

 }

当点击每一行时,我正在加载一行作为ajax调用

var details = {
 _rowID         
}
$.ajax({
    url: "/MyController/GetDetailsForOneRow",
    type: "POST",
    dataType: "html",
    data: details,
    success: function (data) {
        $('#editOneRowPlaceHolder').html(data);

    }
});

在我的控制器中它的引用

public partialViewresult GetDetailsForOneRow(MyModel model)
{

   model._rowID =//doing some manupulation and getting all the three values 

return PartialView("partialViewforOneRowDetails",model)

}

0 个答案:

没有答案