我如何从Literall Control ASP NET获得价值

时间:2019-02-20 18:13:17

标签: c# asp.net vb.net webforms

我有一个输入代码,我想获取文字控制的值 动态地。如何获得我选择的输入值?

前码

<ul id="ulTest" runat="server"></ul>


Dim a As LiteralControl = New LiteralControl("<input type = ""date"" id=""start"" name=""trip-start"" value = ""2018-07-22"" min = ""2018-01-01"" max=""2018-12-31"">")
a.ID = "as"
ulTest.Controls.Add(a)

Dim tb As TextBox = (TextBox)a.FindControl("as")
ul1.Controls.Add(New LiteralControl(a.Text))

1 个答案:

答案 0 :(得分:0)

文字控件表示被渲染的客户端标记,不应期望能够处理已发布的数据。如果要写出的文字是文本框,则可以将其添加为文字,但是从中读取值的唯一方法是使用:

Request.Form("trip-start")

除了可以做之外,没有其他直接控制表示形式:

foreach (var ctl in ulText.Controls)
{
    if (ctl is LiteralControl)
    {
       var a = (LiteralControl)ct;
       //Attempt to do something
     }
}

我不认为您输入的值会被回寄;它只是原始的标记声明。另外,您不能将其投射为文本框。错误将会发生:

var tb = (TextBox)a.FindControl("as"); //Throws Exception