У меня есть скрытое поле, содержащее значение, и мой блок кода в представлении (внутри @ {}) требует того же.Я пробовал много форматов, пытаясь использовать jquery с @: и т. Д., Но ни один из них не работает.
, поэтому, в основном, если у меня есть скрытое поле со значением ID = "aField", мне потребуетсяего значение как-то связано, скажем, с строковой переменной.
@{ string hiddenValue = //Value from that hidden field }
Спасибо, Ананд
ОБНОВЛЕНИЕ:
Значение в скрытом полеЗаполняется на некоторые действия клиента с использованием Jquery и требуется перед отправкой формы.Следовательно, я не использую сумку вида.Я что-то ошибаюсь или пропускаю?
поэтому я ищу способ, если возможно, использовать jquery для считывания обновленного значения и использовать его.
много пытался включить jquery впоказанный выше блок кода для получения значения, но всегда заканчивается ошибками.
ОБНОВЛЕНИЕ 2:
Реализовано предложение Шойба (спасибо за это) использовать Ajaxи обновить то же самое в viewbag и использовать его для моего требования, также с точками останова. Я вижу, что ViewBag обновил значение, которое я использую в своей форме.
Следующее, что я оступился, это то, что в браузере все ещея не вижу выбранное значение.это просто отображает старое значение.Мое обновление потеряно во время рендеринга / это просто рендеринг старого HTML?Любая помощь, оцененная
ниже, является моим сценарием.на стороне сервера я просто обновляю свойство ViewBAg этим значением, которое подтверждено.
function setHiddenFieldValue(buttonEditClicked)
{
$('#contactIdHiddenFld').val("");
$('#contactIdHiddenFld').val(buttonEditClicked.title) ;
alert($('#contactIdHiddenFld').val());
$.ajax({
url: "@Url.Action("SetPartnerProfileContactID", "PartnerManagement")",
data: {partnerContactID: $("#contactIdHiddenFld").val()},
dataType: 'html',
cache: false,
type: "POST",
error: function() {
alert("An error occurred.");
},
success: function(result) {
jQuery.validator.unobtrusive.parse('EditContactForm');
Sys.Mvc.FormContext._Application_Load();
var windowElement = $('#EditContactWindow');
windowElement.data('tWindow').center().open();
}
});
Также здесь приведен фрагмент формы.
@using (Html.BeginForm("GetProfile", "PeopleManagement", FormMethod.Post, new { id = "EditContactForm" }))
{
<p class="note">
Please Enter the contact details below</p>
<table border="0" cellpadding="0" cellspacing="0" id="EditContactsTable">
@{
string toCheck = ViewBag.ContactIDToEdit;
int count = (from n in Model.PartnerDetails.Contacts where n.PrimaryContactId==toCheck select n).Count();
}
<tr>
<td class="table_label_cell" width="20%" >
<font color="red">*</font><label for="firstname">@ViewResources.PartnerManagement.GetPartnerProfile.FirstName :</label>
</td>
<td class="table_value_cell" width="40%">
@Html.TextBoxFor(m => m.PartnerDetails.Contacts[count].PrimaryContacts.FirstName)
</td>
<td class="table_value_cell" width="40%">
@Html.ValidationMessageFor(e => e.PartnerDetails.Contacts[count].PrimaryContacts.FirstName)
</td>
</tr>
<tr>
<td class="table_label_cell" width="20%">
<font color="red">*</font><label for="lastname">@ViewResources.PartnerManagement.GetPartnerProfile.LastName :</label>
</td>
<td class="table_value_cell" width="40%">
@Html.TextBoxFor(m => m.PartnerDetails.Contacts[count].PrimaryContacts.LastName)
</td>
<td class="table_value_cell" width="40%">
@Html.ValidationMessageFor(e => e.PartnerDetails.Contacts[count].PrimaryContacts.LastName)
</td>
</tr>