如何将程序创建的标签的文本分配给html主体中的其他标签

how can I assign the text of programatically created label to the other label in html body?

本文关键字:标签 html 主体 其他 分配 文本 程序 创建      更新时间:2023-09-26

RadioButton rb;标签lb;

   while (reader.Read())
   {
       rb = new RadioButton();   **//radio buttuns created**   
       lb = new Label();         **// labels created**
       lb.Text = reader[0].ToString(); *// each label's text assigned*
       rb.Attributes.Add("OnClick", "getSelectedAuthor('"+lb.Text.ToString()+"')");
       PlaceHolder1.Controls.Add(rb);   *//when the radio clicked,function called*
       PlaceHolder1.Controls.Add(lb);    *// to set use the text of label*
       PlaceHolder1.Controls.Add(new LiteralControl("<br />"));
  }
  conAuthorTbl.Close();

//innerthtml不起作用,//因为我需要将//Labe2的文本发送到其他页面,//当我使用Response.RRedirect(..)时,//没有来自Label2的字符串

<script language="javascript" type="text/javascript">
     function getSelectedAuthor(text) {
                    document.getElementById("Label2").innerText = text;
                }
</script>

//我想设置文本的文本

   <div>
            <asp:Label ID="Label2"  runat="server" Text="" ></asp:Label>
        </div>

我可以建议你使用类似knockout.js的东西吗?它的客户端MVVM,可以使用声明性绑定来实现任务。我希望这能有所帮助。

http://knockoutjs.com/

试试这个:

<script language="javascript" type="text/javascript">
     function getSelectedAuthor(text) {
                    document.getElementById("<%=Label2.ClientID%>").innerText = text;
                }
</script>

只要javascript在同一个aspx页面上,这就可以工作。

如果你需要在外部JS文件中使用它,那么你可以为你的JS文件创建一个映射。

所以你会把这样的东西放在你的aspx页面上:

<script language="javascript" type="text/javascript">
  var myElement_Label2 = getElementById("<%=Label2.ClientID%>");
  etc...
</script>

然后在我们的外部js文件中,您可以使用这些引用,如:

myElement_Label2.innerText = "something";