我有一個用戶可供選擇的客戶列表。當他們選擇一個客戶時,我需要加載該客戶的聯繫人。我需要從JavaScript調用該函數,所以我增加了一個按鈕:來自代碼後面的代碼的調用功能,無需回傳
<asp:Button ID="btnSample" runat="server" style="float:right;display:none" OnClick="btnSample_Click" />
和按鈕,然後會從我的JavaScript功能觸發:
function OnGetCustomer(result){
document.getElementById('lblCustID').innerHTML = result.ID;
document.getElementById('lblCustName').innerHTML = result.Name;
document.getElementById("btnSample").click();
}
後面的代碼加載聯繫人:
protected void btnSample_Click(object sender, EventArgs e)
{
RateSheet r = new RateSheet(ID, Company.Current.CompanyID);
if (!string.IsNullOrEmpty(lblCustID.Text))
{
Customer c = new Customer(int.Parse(lblCustID.Text));
bool e2 = false;
foreach (Customer.CustomerContact cc in c.Contacts)
{
HtmlGenericControl li = new HtmlGenericControl("li");
CheckBox cb = new CheckBox();
cb.ID = "cbCustContact_" + cc.ID;
cb.Checked = true;
if (!string.IsNullOrEmpty(cc.Email))
{
cb.Text = cc.Email;
cb.TextAlign = TextAlign.Right;
li.Controls.Add(cb);
ulCustContacts.Controls.Add(li);
}
}
}
}
我需要從lblCustID
的值來找到客戶的聯繫人。問題是按鈕導致回發,我失去了我選擇的客戶,所以lblCustID
總是回到零。如何停止回發,以免丟失任何價值?
將customerid添加到hiddenfield中,以便在回發發生時將它發佈到服務器,並且您可以在服務器端讀取它。 – Esko
聽起來像你需要ajax請求 – Jamiec