【问题标题】:Move button into Div将按钮移动到 Div
【发布时间】:2011-11-02 00:53:48
【问题描述】:

我需要将这个新按钮移动到这个已经存在的 DIV 中。在我看来,这似乎应该有效,但没有。我做错了什么?

Button button5 = new Button();
button5.Text = "Five";
button5.CssClass = "buttonCSS";
button5.Click += new EventHandler(button5_Click);
button5.ID = "button5";
this.Controls.Add(button5);               

string myscript = @"      
    var navFooter = document.getElementById('NavFooter');
    var button5 = document.getElementById('button5');
    navFooter.Controls.Add(button5);
    ";
Page.ClientScript.RegisterStartupScript(this.GetType(), "MyScript", myscript, true);

我知道这两个对象正在被发现。有任何想法吗?

(注意:我不能使用 jQuery。)

谢谢。

【问题讨论】:

    标签: c# javascript asp.net html


    【解决方案1】:

    Controls.Add() 是 C#,而不是 JavaScript。要使用 JavaScript 将一个元素附加到另一个元素,请使用 appendChild()

    navFooter.appendChild(button5);
    

    【讨论】:

    • ID 不是问题。我得到了控制。例如,如果我做 alert(button5.value);然后它返回“五”。不过还是谢谢。
    • @user390480,我看到您提到您正在获取控件。我的回答的第一部分只是一个建议。答案的第二部分应该可以解决您的问题。您是否将 Controls.Add() 替换为 .appendChild(button5)Controls.Add() 不是 JavaScript,而是 C#。 .appendChild() 在这种情况下是 JS 等价物。
    • 追加孩子!而已。谢谢。
    【解决方案2】:

    你为什么要通过 javascript 来做这个?

    如果将包含的<div> 更改为<asp:Panel>,则可以将新创建​​的按钮直接添加到此面板中。 <asp:Panel> 被简单地呈现为 <div> html 元素,您可以在其中添加 CssClass 以保持样式相同。

    为您提供对服务器端的整体更大控制,您无需担心 javascript。尤其是因为您无论如何都在做服务器端工作。

    【讨论】:

    • 我无权访问该代码。 DIV 已经存在。不过还是谢谢。
    【解决方案3】:

    只需将runat="server"添加到div中,并在后面的代码中添加:

    <div id="dvButtonContainer" runat="server" ... >
    

    另一种选择是使用面板,因为它无论如何都会输出一个 div:

    <asp:Panel ID="dvButtonContainer" runat="server" ... >
    

    在后面的代码中:

    Button button = new Button();
    dvButtonContainer.Controls.Add(button);
    

    编辑:由于 DIV 不可访问,这里有一个解决方法:

    Button Button1 = new Button();
    
    Page.ClientScript.RegisterStartupScript(this.GetType(), "MyScript", String.Format("document.getElementById(\"div1\").appendChild({0});", Button1.UniqueID), true);  
    

    【讨论】:

    • 我无权访问该 DIV 代码。 DIV 已经存在,我无法更改它。
    猜你喜欢
    • 2020-03-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-06
    • 2021-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多