ASP.Net标签在c#中的改变
本文关键字:改变 Net 标签 ASP | 更新日期: 2023-09-27 18:04:21
我通常处理c#代码,但最近开发一个asp.net页面,我有一个日历显示,用户选择他/她想要的日期。在该页上是一个asp lbl,我想显示当前选择的日期,这对我来说通常很容易,但我有麻烦引用/找到控制。我也不确定最好的方法来做到这一点,我肯定会在未来遇到这个问题。
这是我想设置lbl文本,并尝试使用FindControl方法,但它不适合我,认为它可能嵌套,因为我有一些div ?
public void Calendar1_SelectionChanged(object sender, System.EventArgs e)
{
Control Lbl = FindControl("inputField");
if (Lbl != null)
{
//Control mycontrol2 = Lbl.Parent;
Lbl.Text = Calendar1.SelectedDate.ToShortDateString();
}
,这是在asp。
<div id="date">
<input type="text" size="12" id="inputField" />
<script>
$("#inputField").click(function () {
$("#box").show("slow");
});
</script>
</div>
我如何完成设置日历的输入字段文本。SelectedDate ?。(以及你自己发现的任何技巧,如果有的话,作为良好的练习)
谢谢你的帮助。
你为什么不使用asp:Label?你找不到"标签",因为它是一个html控件,又名客户端控件。使用<asp:Label id="lblCal" runat="server"...
,你应该没有问题,改变它的文本后面的代码:
lblCal.Text = Calendar1.SelectedDate.ToShortDateString();
Net只认为服务器标签是c#级别可用的控件。
所有div和其他标签都只是Asp. js的纯文本。. Net中,它们将不会在控件层次结构中被考虑。
使Asp。如果在服务器中考虑它,则在感兴趣的标记上放置runat="server"
属性。它们将在代码后面通过放置在id
属性中的名称来访问。
Asp。Net将永远无法在示例代码中找到'inputField'。
解决方案:
要解决您的问题,我建议您使用Asp。Net WebForm控件TextBox
…如果你想要的是input
:
<asp:TextBox runat="server" id="inputField" />
通过这样做,您将能够访问inputField
,在代码后面的名称:
inputField.Text = Calendar1.SelectedDate.ToShortDateString();