Как присвоить значение в Tempdata с помощью Jquery?
Я хочу передать значение в ActionResult, но не хочу использовать Querystring и сеанс, потому что тип значения guid, поэтому не хочу отображать в URL.
function ViewDetail(ele) {
var Id = $(ele).attr("OrderID");
@TempData["OrderID"] = Id;
}
2 ответа
По сути, вы не можете таким образом, вы пытаетесь назначить объект на стороне сервера для данных на стороне клиента.
Однако вы можете сделать это с помощью Ajax, если напишите Ajax-действие, которое назначит данные для tempdata и вызовет это действие со стороны клиента с помощью Ajax.
Код Ajax:
function ViewDetail(ele) {
var Id = $(ele).attr("OrderID");
$.ajax({
type: "POST",
cache: false,
async: false,
url: '@Url.Action("actionname", "controllername")',
dataType: "json",
data: { Id: Id },
failure: function (jqXHR, exception) {
if (jqXHR.status === 0) {
alert('Not connect.\n Verify Network.');
} else if (jqXHR.status == 404) {
alert('Requested page not found. [404]');
} else if (jqXHR.status == 500) {
alert('Internal Server Error [500].');
} else if (exception === 'parsererror') {
alert('Requested JSON parse failed.');
} else if (exception === 'timeout') {
alert('Time out error.');
} else if (exception === 'abort') {
alert('Ajax request aborted.');
} else {
alert('Uncaught Error.\n' + jqXHR.responseText);
}
}
});
}
Надеюсь, поможет!