在我的局部视图中,我有一个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)
}