我正在尝试在运行时将属性文本添加到文本框中,如下例所示。下面的代码有效,但属性仅在完整回发后生效,并且我会进行部分回发。
txtSKU1位于更新其他文本框的更新面板中,如DisplaySKUInfo
和ClearSKUInfo
函数中所示。这很有效 - 但是我试图添加的属性仅在完整回发之后才有效 - 有没有办法在不完整的情况下重新加载控件?
protected void txtSKU1_TextChanged(object sender, EventArgs e)
{
if (sql.OpenConnection())
{
SKUInformation sku = sql.GetSKUInformation(txtSKU1.Text);
if (sku.IsValid)
{
DisplaySKUInfo(sku.SKU, txtComp1, txtCost1, txtDescription1, txtMargin1);
txtSKU1.Attributes.Remove("class");
txtSKU1.Attributes.Remove("data-toggle");
txtSKU1.Attributes.Remove("data-placement");
}
else
{
ClearSKUInfo(txtComp1, txtCost1, txtDescription1, txtMargin1);
// These only work after a full postback
txtSKU1.Attributes.Add("class", "popover-dismiss");
txtSKU1.Attributes.Add("data-toggle", "popover");
txtSKU1.Attributes.Add("data-placement", "top");
}
}
}
答案 0 :(得分:1)
我在这里看到的选项很少:
将txtSKU1移至UpdatePanel,它将自动更新。
使用ScriptManager.RegisterStartupScript注册将为您设置这些属性的js。