@{
ViewBag.Title = "Edit";
Layout = "~/Views/Shared/_Layout.cshtml";
List<branchInformation> branches = ViewData["branch"] as List<branchInformation>;
}
<div class="col" style="width:100%">
<div class="form-group">
Branch:
@Html.DropDownListFor(model => model.brh_shp_to,
from i in branches
select new SelectListItem
{
Text = i.brhNm,
Value = i.brhAddr.ToUpper().Replace(@"\N", "\n")
}
,
new { @class = "form-control", style = "width:100%", @id = "brh" })
</div>
</div>
<div class="col">
<div class="form-group">
Ship To Address
<br />
@Html.TextAreaFor(model => model.brh_shp_to_addr, new { @class = "form-control", @style = "width:100%; max-height:130px; height:130px", @id = "shpAddr" })
@Html.ValidationMessageFor(model => model.brh_shp_to_addr, "", new { @class = "text-danger" })
</div>
</div>
<script type="text/javascript">
$('#brh').change(function () {
var brhName = $('#brh option:selected').val();
$('#shpAddr').val(@branches.Where(i=>i.brhNm == brhName).FirstOrDefault().brhAddr).val());
});
</script>
Модель
public class OrderModels
{
public OrderModels()
{
this.Items = new HashSet<Item>();
}
public int OrderID { get; set; }
public string brh_shp_to { get; set; }
public string brh_shp_addr { get; set; }
}
Сначала в раскрывающемся списке отображается Имя филиала, а его значением является Адрес филиала.Я намерен сохранить текст в раскрывающемся списке как brh_shp_to , и его значение будет сохранено в brh_shp_addr , нопосле того, как я посылаю вызов ajax, модель берет значение и сохраняет его brh_shp_to , а не текст, который я хочу.
Итак, я изменил код, чтобы иметьтекст и значение имеют значение brhNm и имеют другое событие для обнаружения изменения и обновления текстовой области на значение brhAddr, сравнивая выбранное значение раскрывающегося списка с ViewData ["branch"] , которое теперь являетсясписок филиалов.
Я хочу изменить значение в shpAddr textarea на значение адреса ветви при изменении параметра в раскрывающемся списке.
Весь код обернут в
@using (Ajax.BeginForm("AjaxEditOrder", "Orders",
new AjaxOptions
{
OnSuccess = "OnSuccess",
OnFailure = "OnFailure",
LoadingElementId = "progress"
}))
{
}
Я получил сообщение о том, что brhName не определено.