C# 在运行时从C向textbox添加属性#

C# 在运行时从C向textbox添加属性#,c#,asp.net,twitter-bootstrap,C#,Asp.net,Twitter Bootstrap,我试图在运行时将文本属性添加到文本框中,如下例所示。下面的代码可以工作,但是属性只有在完全回发后才生效,我正在进行部分回发 txtSKU1位于更新面板内,更新其他文本框,如DisplaySKUInfo和clearkkuinfo函数所示。这很好——但是我试图添加的属性只在完全回发后才起作用——有没有办法在不进行完全回发的情况下重新加载控件 protected void txtSKU1_TextChanged(object sender, EventArgs e) {

我试图在运行时将文本属性添加到文本框中,如下例所示。下面的代码可以工作,但是属性只有在完全回发后才生效,我正在进行部分回发

txtSKU1位于更新面板内,更新其他文本框,如
DisplaySKUInfo
clearkkuinfo
函数所示。这很好——但是我试图添加的属性只在完全回发后才起作用——有没有办法在不进行完全回发的情况下重新加载控件

    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");
            }
        }
    }

我在这里看到了一些选择:

  • 将TXTSK1移动到UpdatePanel,它将自动更新

  • 使用方法

  • 使用ScriptManager.RegisterStartupScript注册将为您设置这些属性的js


  • 不使用AJAX调用有什么原因吗?除了无知,没有:)这是我在工作中投入的第一个asp.net项目。幕后的C#很简单,但是web部分对我来说是全新的。你能提供你的ASP标记(带有更新面板和文本框的部分)吗?因为我已经创建了您描述的示例,并且一切都很好。当然-这里是:仍然没有。使用1号,我确信这会奏效。奇怪的是,如果它是有效的SKU(更新的OP),我添加了删除属性的代码,但只有在完全回发(我通过单击一个不做任何操作的按钮触发)之后,它才能工作。所以我这样做:1)输入无效的sku 2)按Tab键3)将鼠标悬停在文本框上,什么都不会发生。4) 点击按钮,页面刷新。5) 将鼠标悬停在文本框上,弹出窗口出现!6) 放入有效的sku 7)点击选项卡8)(这次没有点击按钮)将鼠标悬停在文本框上,没有弹出窗口。。。这就是它的工作原理,不用点击按钮。