Мне нужна помощь по этому вопросу.
У меня в поле зрения 2. Я хотел бы получить значение (сгенерированное в моем контроллере), примененное к textbox2, когда есть изменение в textbox1. Например, я ввожу имя пользователя в textbox1, а textbox2 - это адрес электронной почты, получаемый от контроллера (мы можем представить, что проверка контроллера выполняется в базе данных или в активном каталоге).
Мой код ниже, кажется, не работает:
В моем файле View я добавил раздел скрипта:
@section scripts{
<script type="text/javascript" language="javascript">
function ShowPersonalPanel(myChkboxPersonalLine) {
if (myChkboxPersonalLine.checked == false) {
$("#1-w").hide("fast");
}
else {
$("#1-w").show("fast");
}
}
</script>
<script language="javascript">
$("#1-w").hide("fast");
$('#myOtherGID').change(function () {
var myOtherGID = this.value;
$.getJSON("/PhoneController/GetEmailByGID",
{
strGID: myOtherGID
},
function (data) {
$('myOtherEmail').val(data);
});
});
</script>
}
И код в представлении с текстовым полем:
<label for="myOtherGIDlbl">GID:</label>
<label class="text" id="myOtherGIDlbl">
@Html.TextBoxFor(model => model.myOtherGID)
</label>
<label for="myOtherEmaillbl">Email:</label>
<label class="text" id="myOtherEmaillbl">
@Html.TextBoxFor(model => model.myOtherEmail)
</label>
На моем контроллере (с именем PhoneController) я добавил action:
public JsonResult GetEmailByGID(string strGID)
{
string strEmailAddress = "this is my email";
return Json(strEmailAddress, JsonRequestBehavior.AllowGet);
}
Поскольку я работаю с _layout.cs html и viewFile.cs html, я добавил в макет (в разделе head) строку ниже:
<script type="text/javascript" src="~/Scripts/jquery.unobtrusive-ajax.js"></script>
Что я пропустил?
С уважением