이 격자에 대한 정보가 텍스트 상자에 입력되는 gridview가 있습니다. 그런 다음 저장 버튼을 클릭하면이 정보가 그리드에 저장됩니다. 이 텍스트 상자 중 하나는 메뉴를 표시합니다. 사용자가 메뉴에서 채권자를 선택하면 채권자 ID가 HiddenField에 저장됩니다. 그것은에서 채권자를 찾는 WebMethod
를 호출HiddenField가 코드 뒤에 공백으로 돌아오다
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);
}
: 사용자가 이름 텍스트 상자와 ID를 가지는에 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>
데이터베이스는 다음 WebMethod
가 값을 반환
[WebMethod]
public static Creditor GetCreditorAccountCode(string AccountCode)
{
try
{
Creditor c = new Creditor(AccountCode);
return c;
}
catch (Exception ex)
{
return new Creditor();
}
}
경우는에 HiddenField 및 텍스트 상자를 채 웁니다. 그래서 result
는 채권자이며 result.AccountCode
를 호출하면 채권자 등 코드
계정 제공하지만 그 뒤에 코드에서이에 HiddenField를 호출 할 때 항상 비어 :
if (!int.TryParse(hfCreditorID.Value, out tmpCredID))
{
valid = false;
}
내가 저장을 클릭하면 문제는 버튼을 누르면 모든 값을 잃어 버리기 때문에 포스트가 다시 생깁니다. 그것은 가치를 잃는 숨겨진 필드가 아니라 빈 텍스트 상자가 다시오고있다
는'this.value' 그냥 텍스트 문자열, 그것은 필요가 없습니다되는'ID' 필드 – Andrei
@Andrei 값이있는 'result.ID'의 ID 값을 찾습니다. 그것은 단지 숫자입니다. 문제는 코드 숨김에서 hfCreditorID.Value를 호출하는 것이 빈 것으로 나타났습니다 – user123456789
@Andrei 제 편집 된 질문을 참조하십시오. 나는 일부 기능을 생략했지만 잘하면이 문제를 더 잘 설명합니다. – user123456789