【发布时间】:2016-10-10 15:53:49
【问题描述】:
我有一个网格视图,该网格的信息由文本框输入。然后我单击保存按钮,此信息将保存到网格中。 对于其中一个文本框,它会显示一个菜单。用户从菜单中选择债权人,债权人 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>
当用户从列表中选择债权人时,此函数将运行该函数,该函数将使用名称填充文本框,并使用 id 填充 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);
}
它调用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 会给债权人帐户代码等。
但是当我尝试在后面的代码中调用这个 HiddenField 时,它总是空白:
if (!int.TryParse(hfCreditorID.Value, out tmpCredID))
{
valid = false;
}
问题是当我单击保存按钮时,它会导致回帖,因此我丢失了所有值。不是隐藏字段失去了它的价值,文本框也变回空白
【问题讨论】:
-
this.value只是一个文本,一个字符串,它不会有ID字段 -
@Andrei 它从
result.ID找到ID 值,它确实有一个值。这只是一个数字。问题是在后面的代码中调用hfCreditorID.Value以空白返回 -
@Andrei 请查看我编辑的问题。我遗漏了一些功能,但希望这能更好地解释问题
标签: javascript c# jquery asp.net gridview