c# asp.net响应.Write收缩文本框
本文关键字:文本 Write asp net 响应 | 更新日期: 2023-09-27 18:15:09
我有一个Web表单项目,我正在开发c# ASP。Net 4.5。我有一个调用响应的类。写入以显示用于用户输入验证目的的消息。回应的呼唤。Write是在类内部的方法中通过按下表单上的按钮来创建类的新实例(即类方法)。但是使用响应。Write会导致页面上的文本框大幅缩小。然后,当我按下另一个按钮时,文本框恢复正常。它只在我使用response。write时发生。任何帮助都会很感激。类方法中的代码调用:
HttpContext.Current.Response.Write("File not found");
通过使用,您只是将文本转储到页面顶部,通常在<html>
标记之外。这可能会对页面样式的其他部分产生连锁反应;当我吐出测试响应时,我也看到了同样的情况。
相反,在页面上放置一个标签控件并填充它。你可以把它放在你想要的地方,只需调用:
所以把这个:<asp:Label runat="Server" id="myLabel" />
放在你想要消息出现的地方。
然后在代码中,这样写。它将用给定的文本填充标签。
myLabel.Text = "File not found";
Label
控件将被渲染为<span></span>
-所以样式化它是很好和容易的。
如果您喜欢使用<div>
,那么使用Panel
控件。
如果您不喜欢任何样式,可以选择Literal
控件,它不呈现html元素。
当你使用HttpContext.Current.Response.Write
的代码后面是直接发送到页面你的文本,在任何随机点的页面渲染。
可能在顶部,也可能在底部,如果你使用后面的代码调用它,在某些你无法控制的点上
改变你显示消息的方式,至少你可以使用一个文字控件来呈现你的输出并显示它
您可能希望使用控件来显示错误。例如:
在aspx/ascx<asp:Label id="ErrorMessage" runat="server" />
后面的页/控件代码中的//call TheClass
TheClass c = new TheClass();
string error = c.TheMethod();
if (!string.IsNullOrEmpty(error))
{
ErrorMessage.Text = error;
}
成立这个课程public class TheClass
{
public string TheMethod()
{
string result = "";
...
//When file is not found
result = "File not found";
...
return result;
}
}