如何将编程创建标签的文本分配给html正文中的另一个标签?

时间:2012-03-06 12:55:58

标签: javascript asp.net

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.Redirect(..)时,//没有字符串来自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>

2 个答案:

答案 0 :(得分:0)

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

http://knockoutjs.com/

答案 1 :(得分:0)

试试这个:

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

只要javascript位于同一个aspx页面上,这将有效。

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

所以你会在你的aspx页面中输入这样的东西:

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

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

myElement_Label2.innerText = "something";