У меня есть gridview, где информация для этой сетки вводится текстовыми полями. Затем я нажимаю кнопку «Сохранить», и эта информация сохраняется в сетке. Для одного из этих текстовых полей оно вызывает меню. Пользователь выбирает кредитора из меню, а идентификатор кредитора сохраняется в HiddenField.HiddenField возвращается как пустой код
<td class="tblAddDetail" style="border-right:2px">
<a style="float:left;width:16px;height:16px;margin-right:0px;left:0px;top:1px" title="Pick from list..." class="iconSearch" id="btnAddDetailCreditor"></a>
<asp:HiddenField ID="hfCreditorID" runat="server" />
<input type="text" id="txtAddEditCreditorCode" class="lookuppopup" onblur="CheckCreditorAccountDetail(this.value)" style="text-transform:uppercase;width:80px" runat="server"/>
</td>
Когда пользователь выбирает кредитор из списка работает эта функция, которая заполняет текстовое поле с именем и скрытый с идентификатором:
function CheckCreditorAccountDetail(AC) {
//AJAX Save
if ($.trim(AC).length) {
PageMethods.GetCreditorAccountCode(AC,
OnCheckCreditorDetail,
null
);
}
}
function OnCheckCreditorDetail(result) {
$('#<%= hfCreditorID.ClientID %>').val(result.ID);
$('#<%= txtAddEditCreditorCode.ClientID %>').val(result.AccountCode);
}
Он называет WebMethod
, который находит кредитор в база данных:
[WebMethod]
public static Creditor GetCreditorAccountCode(string AccountCode)
{
try
{
Creditor c = new Creditor(AccountCode);
return c;
}
catch (Exception ex)
{
return new Creditor();
}
}
Если WebMethod
возвращает значение, которое он заполняет и скрытое текстовое поле. Так result
является кредитором и вызов result.AccountCode
дает счета кредиторов код и т.д.
Но когда я пытаюсь вызвать эту скрытый в коде позади него всегда пустой:
if (!int.TryParse(hfCreditorID.Value, out tmpCredID))
{
valid = false;
}
Проблема заключается в том, когда я нажимаю сохранить кнопка возвращает сообщение, поэтому я теряю все значения. Это не скрытое поле, которое теряет свою ценность, текстовое поле также возвращается обратно
'this.value' только текст, строка, то она не будет иметь' ID' поле – Andrei
@Andrei Он находит значение ID из 'result.ID', которое имеет значение. Это всего лишь цифра. Проблема заключается в вызове 'hfCreditorID.Value' в коде, который возвращается обратно как пустой – user123456789
@Andrei См. Мой отредактированный вопрос. Я упустил некоторые функции, но, надеюсь, это объясняет проблему лучше. – user123456789