Существует такой сценарий, как импорт данных в формате Excel и проверка, а затем сохранение в БД.При нажатии кнопки проверки отображается сообщение проверки:
Uncaught TypeError: Невозможно использовать оператор «in» для поиска «157» в
Точка отладкине бьется и на стороне сервера.
Я думаю, что проблема с JSON.stringify(columnMapping)
, поскольку она содержит HALL BY #1
.Если я поставлю пробел между &
и #
, процесс проверки будет работать нормально.Однако мне нужно проверить с данными HALL BY #1
.Кто-нибудь может помочь?
function btnValidateClick() {
toggleLoading(true, "Validating...");
var url = '@Url.Action("Validate", "ImportEquipment")';
var params = {
columnMapping: JSON.stringify(columnMapping),
fixedFields: fixedFields,
nonFixedFields: NonFixedFields,
ClassType: $("#ClassType").val(),
taskId: $("#taskId").val(),
selectedclassId: document.getElementById("selectedclassId").value
};
$.ajax({
type: 'POST',
url: url,
data: getDatawithformToken(params),
success: function(result) {
columnMapping = result;
toggleLoading(false, "Validating...");
if (($("table#tblFields .error").closest('tr').length > 0) || ($("table#tblFields .errorMessage").closest('tr').length > 0)) {
showMessageBox("Validation completed", "wijGridView1");
} else {
showMessageBox("Validation Passed", "wijGridView1");
}
}
});
}
C # серверный код
public ActionResult Validate(string columnMapping, string fixedFields, string nonFixedFields, string ClassType, string taskId, string selectedclassId)
{
try
{
// Code here...
}
catch (Exception ex) { }
}