Я получаю это странное поведение в jQuery при работе с приложением mvc.
Ниже приведено представление MVC, в котором я реализовал событие изменения текста,
@Html.TextBoxFor(m => m.UserId, new { @class = "form-control" })
@Html.ValidationMessageFor(m => m.UserId, "", new { @class = "text-danger" })
$("#UserId").change(function () {
var UserId = $(this).val();
//$("#txtName").val(emailId);
$.ajax({
url: 'GetValidUserName',
type: 'POST',
data: JSON.stringify({ UserId: UserId }),
dataType: 'json',
contentType: 'application/json',
success: function (data) {
if (!$.trim(data)) {
alert("User does not exist in system. Please enter valid User Id.");
$(':input[type="submit"]').prop('disabled', true);
}
else {
$("#UserId").val(data);
$("#UserId").focus();
$(':input[type="submit"]').prop('disabled', false);
}
}
});
});
При отладке приложения при первой загрузке представления индекса, вызывается функция jQuery и корректно вызывается действие контроллера. http://localhost:51012/UserApplication/Index
Но когда я загружаюснова, функция jQuery не вызывается.
Код контроллера,
public JsonResult GetValidUserName(string userId)
{
LMTUsage objLMT = new LMTUsage();
LMTDAL objLMTDAL = new LMTDAL();
string UserID = "";
objLMT.UserList = objLMTDAL.GetAll_User("", 0, "6");
var AllUsersInDatabase = from p in objLMT.UserList
where p.UserId == userId
select new
{
Name = p.UserName,
Id = p.UserId,
};
foreach (var user in AllUsersInDatabase)
{
if (user.Name != null)
{
UserID = user.Id;
}
}
return Json(UserID, JsonRequestBehavior.AllowGet);
}