1
我試圖找出一種方法來重新加載表後,每個按鈕的動作。我正在考慮重新加載頁面,但我不知道如何重新加載頁面,然後將從WebService函數返回的消息打印到div中。如何重新加載視圖後調用JQuery做動作和顯示消息
CSHTML代碼:
@model Namespace.Models.ItemModel
<div id="deleted" />
<input text id="curSelId" />
<input text id="curSelObj" />
<input text id="curSelfObjId" />
<table>
<tbody>
@foreach (var item in Model.myDeleted)
{
<tr id="@item.DeletedId" value="@item.DeletedId">
<td>@item.Timestamp</td>
<td class="type">@item.Type</td>
<td class="typeid">@item.TypeId</td>
</tr>
}
</tbody>
</table>
JQuery的代碼:
function Undo()
{
$.ajax({
type: "POST",
url: "@Url.Content("~/webservices/retrieve.asmx/Undo")",
data: "{'index': '" + $('[id$=curSelId]').val() + "'," +
"'type': '" + $('[id$=curSelObj]').val() + "'," +
" 'typeId': '" + $('[id$=curSelObjId]').val() + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
//http://encosia.com/2009/06/29/never-worry-about-asp-net-ajaxs-d-again/
if (msg.hasOwnProperty("d")) {
// Leave the .d behind and pass the rest of
// the JSON object forward.
var obj = msg.d;
$("#deleted").html(obj);
}
else {
// No .d; no transformation necessary.
AjaxSucceeded(msg, dropdown, hidden);
}
}
, error: AjaxFailed
});
}
被修改:增加輸入字段。
如果我從調用_MyTable的頁面使用ajax,仍可以從_MyTable.cshtml獲取值嗎?如何從父頁面獲取部分值。 – 2011-05-20 16:53:58
@ user759458,你想抓取什麼樣的值以及在哪裏(javascript?)? – 2011-05-20 16:55:42
我設置了當我點擊表格行時,它會填充一些輸入文本和關於它被點擊的行的信息,所以當我點擊按鈕時,它將拉動索引,類型和typeId(如圖所示ajax call。在代碼中添加了輸入字段 – 2011-05-21 22:29:25