代码之家  ›  专栏  ›  技术社区  ›  pavanred

什么是文字控制?为什么使用它?

  •  19
  • pavanred  · 技术社区  · 16 年前

    LiteralControl 我用这个代码列出了一个页面中的控件-

    foreach (Control control in Page.Controls)
    {
        Response.Write(control.GetType().ToString() + " - <b> " + control.ID + "</b><br />");    
    
        if (control is LiteralControl)
        {
            Response.Write("Textt :" + ((LiteralControl)control).Text.ToString() + " - " + 
                Server.HtmlEncode(((LiteralControl)control).Text + "<br />") ); 
        }
    }
    

    我发现实际上 LiteralControls 在我添加到页面的每个控件之前和之后生成和列出的。文本控件也只有文本属性。

    我还是不知道为什么 是否需要和使用?你为什么 用过吗?为什么我添加到页面的控件前后都有一个LiteralControl?为什么它们只有文本属性?

    7 回复  |  直到 12 年前
        1
  •  15
  •   ACP    16 年前

    MSDN Literal控件表示ASP.NET页中不需要在服务器上处理的HTML元素、文本和任何其他字符串。

    你也来看看这个 Literal Control usage

    A label <span> 标签。它允许您以编程方式更改 LiteralControl 一个比另一个好。一个可能比另一个有用 在某些情况下。例如,如果要显示静态文本, 如果不进行任何编程更改,则可能需要使用 文字控制。

        2
  •  17
  •   Sky Sanders    16 年前

    A LiteralControl 用于在运行时将HTML注入到页面中。

        3
  •  5
  •   user164226 user164226    16 年前

    使用literal将为您提供一个具有要挂接的ID属性的控件,同时允许您在其周围注入语义正确的标记。

    此外,如果您最终没有将任何文本推送到标签标记,它仍将在HTML中输出标记,如下所示: <label></label>

        4
  •  3
  •   Chris Farmer Marcelo Cantos    16 年前

    你会得到一个 LiteralControl 对于任何不属于ASP.NET服务器控件的HTML标记。这就是框架如何呈现页面的HTML灌木。这个 Text 属性就是这个HTML,它还包括任何空格。

        5
  •  0
  •   Grant Palin Bob King    16 年前

    literal 控件在运行时添加文本。A 字面意义的

        6
  •  0
  •   AmanVirdi    11 年前

    试试这个:

    foreach (Control control in Page.Controls)
    {
        Response.Write(control.GetType().ToString() + " - <b> " + control.ID + "</b><br />");    
    
        if (control is LiteralControl)
        {
            Response.Write("Textt :" + ((LiteralControl)control).Text.ToString() + " - " + 
            Server.HtmlEncode(((LiteralControl)control).Text + "<br />") ); 
        }
    }
    
        7
  •  0
  •   Leonardo Alves Machado Vivek Kumar    8 年前
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    public partial class _Default : System.Web.UI.Page
    {
      protected void Page_Load(object sender, EventArgs e)
      { }
      protected void btnGenerateControl_Click(object sender, EventArgs e)
      {
         // Retrieve the count of the controls to generate
        int Count = Convert.ToInt16(txtControlsCount.Text);
        // Loop thru each list item in the CheckBoxList
        foreach (ListItem li in chkBoxListControlType.Items)
        {
            if (li.Selected)
            {
                // Generate Lable Controls
                if (li.Value == "Label")
                {
                    for (int i = 1; i <= Count; i++)
                    {
                        Label lbl = new Label();
                        lbl.Text = "Label - " + i.ToString() + "<br>";
                        //phLabels.Controls.Add(lbl);
                        //tdLabels.Controls.Add(lbl);
                        pnlLabels.Controls.Add(lbl);
                    }
                }
                // Generate TextBox controls
                else if (li.Value == "TextBox")
                {
                    for (int i = 1; i <= Count; i++)
                    {
                        TextBox txtBox = new TextBox();
                        txtBox.Text = "TextBox - " + i.ToString() ;                  
                        //phTextBoxes.Controls.Add(txtBox);
                        //tdTextBoxes.Controls.Add(txtBox);
    
                        pnlTextBoxes.Controls.Add(txtBox);
                         pnlTextBoxes.Controls.Add(new LiteralControl("<br />"));  
                        //pnlTextBoxes                
                    }
                }
                // Generate Button Controls
                else
                {
                    for (int i = 1; i <= Count; i++)
                    {
                        Button btn = new Button();
                        btn.Text = "Button - " + i.ToString();
                        //phButtons.Controls.Add(btn);
                        //tdButtons.Controls.Add(btn);
    
                        pnlButtons.Controls.Add(btn);
                        pnlButtons.Controls.Add(new LiteralControl("<br />"));
                    }
                }
            }
        }
      }
    }