asp.net ,Ajax和DIV服务器端控件的问题
后台:protectedvoidTimer1_Tick(objectsender,EventArgse){if(TextBox1.Text.ToString().Leng...
后台:
protected void Timer1_Tick(object sender, EventArgs e)
{
if (TextBox1.Text.ToString().Length > 26)
{
Label1.Text = "你输入的标题已经超过了可以显示的长度,请输入副标题!";
myDiv.Style.Add("display", "block");
}
else
{
Label1.Text = "";
}
}
前台:
<div style="width:900px; height:25px; margin-top:20px; border-bottom:dashed 1px #dddddd;">
<div style="width:60px; height:15px; float:left; margin-top:5px; margin-left:20px;"><span>信息标题:</span></div>
<div style="width:350px; height:20px; float:left;">
<asp:TextBox ID="TextBox1" runat="server" Height="15px" Width="350px"></asp:TextBox>
</div>
<div style="width:350px; height:15px; float:left; margin-top:5px; margin-left:20px;">
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Label ID="Label1" runat="server" Text="Label" ForeColor="Red"></asp:Label>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
</Triggers>
</asp:UpdatePanel>
</div>
</div>
<div id="myDiv" runat="server" style="width:900px; height:25px; border:solid 1px #dddddd;"></div>
为什么我输入超过26个字符后。id="myDiv" 这个DIV~不会显示出来?
谢谢! 展开
protected void Timer1_Tick(object sender, EventArgs e)
{
if (TextBox1.Text.ToString().Length > 26)
{
Label1.Text = "你输入的标题已经超过了可以显示的长度,请输入副标题!";
myDiv.Style.Add("display", "block");
}
else
{
Label1.Text = "";
}
}
前台:
<div style="width:900px; height:25px; margin-top:20px; border-bottom:dashed 1px #dddddd;">
<div style="width:60px; height:15px; float:left; margin-top:5px; margin-left:20px;"><span>信息标题:</span></div>
<div style="width:350px; height:20px; float:left;">
<asp:TextBox ID="TextBox1" runat="server" Height="15px" Width="350px"></asp:TextBox>
</div>
<div style="width:350px; height:15px; float:left; margin-top:5px; margin-left:20px;">
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Label ID="Label1" runat="server" Text="Label" ForeColor="Red"></asp:Label>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
</Triggers>
</asp:UpdatePanel>
</div>
</div>
<div id="myDiv" runat="server" style="width:900px; height:25px; border:solid 1px #dddddd;"></div>
为什么我输入超过26个字符后。id="myDiv" 这个DIV~不会显示出来?
谢谢! 展开
4个回答
展开全部
别用Timer控件。
把文本框的AutoPostBack设为true。然后在TextChanged事件中编写代码。再者,在myDiv的标记中加上runat="server",否则它是客户端控件,服务端代码是无法控制的。
把文本框的AutoPostBack设为true。然后在TextChanged事件中编写代码。再者,在myDiv的标记中加上runat="server",否则它是客户端控件,服务端代码是无法控制的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
myDiv.Visible = true; 即可你已经将这个层弄成服务器控件,就可以直接写。
你那个类似javascript,无法执行
你那个类似javascript,无法执行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该是updatepanel的问题,你自己写ajax实现就是了,updatepanel有时候会出现一些问题
追问
可是~我不会写~你能帮我写吗?谢谢!
追答
用jquery写,你的需求和功能我都不知道,没办法写
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
改成myDiv.Style.Add("display", "inline"); 试试看
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询