#jquery #asp.net-mvc #json #asp.net-mvc-3
#jquery #asp.net-mvc #json #asp.net-mvc-3
Вопрос:
Я разрабатываю приложение с использованием MVC / Jquery, я могу получить значение от контроллера для просмотра с помощью приведенного ниже кода getJSON,
$.getJSON('@Url.Action("SampleData", "Home")', { pageNum: 1, pageSize: PageSize, accountDetailsType: AccountDetailsType }, function (result) {
//total number of records
totalRecords = result.total;
//total records
records = result.data;
$('#Description').val(result.reportType);
$('#Description')
выдает мне нужные данные, которые я могу проверить с помощью текстового поля ниже в представлении,
@Html.TextBox("Description")
теперь вопрос в том, есть ли какой-либо способ поместить это значение в любую переменную / скрытый файл, чтобы основываться на этом значении .. я могу показать / скрыть некоторый элемент управления в моем представлении…
похоже на,
if(("Description") = "VB")
{
}
else
{
}
Комментарии:
1. Добро пожаловать в StackOverflow. Пожалуйста, используйте кнопку {}, чтобы отформатировать свой код в следующий раз. Я также добавил дополнительные соответствующие теги.
2. Вы хотите получить доступ к тем же данным, которые были возвращены из getJSON? вы уже делаете это, используя $(«#Description»). Почему вы хотите скопировать информацию в другую переменную / скрытое поле?
Ответ №1:
Я не вижу необходимости помещать результат в скрытое поле. Вы можете напрямую скрыть или показать затронутые элементы управления в функции обратного вызова вашего запроса Ajax:
$.getJSON('@Url.Action("SampleData", "Home")',
{ pageNum: 1, pageSize: PageSize, accountDetailsType: AccountDetailsType },
function (result) {
//total number of records
totalRecords = result.total;
//total records
records = result.data;
if (result.reportType == "VB") {
$('#control1').hide();
$('#control2').show();
} else {
$('#control1').show();
$('#control2').hide();
}
});
Комментарии:
1. 1 — дополнительный указатель, вы можете превратить эти 6 строк hide / show примерно в 2, используя
.toggle
вместо этого.
Ответ №2:
необходимо изменить следующую строку
@Html.TextBox("Description")
Для
@Html.Hidden("Description")
вы можете установить значение этого скрытого поля следующим образом
$("#Description").val(result.reportType);
и считывает его как
var somevar = $("#Description").val(); //assign to variable or make comparisons