我有一个asp.net网页(C#2008),用户可以在其中输入一个EmployeeID,当它们从文本框中跳出时(页面在代码隐藏中执行验证代码块),他们会得到一个消息框,提示他们选择一个下拉列表框中的两个值.
代码隐藏中的消息提示的代码是:
Response.Write("<script>window.alert('Please select Alpha or Beta')</script>");
Run Code Online (Sandbox Code Playgroud)
显示提示后,用户单击"确定"并返回页面,页面上的文本显示失真(标签中的文本大小更大,标签被包装到另一行等)
我尝试将一个Response.Redirect("UserProfileMaint.aspx");
消息框放在代码隐藏中,但是现在,消息框没有出现;
所以这是我的顺序:
我想显示消息框验证,并确保页面上文本的外观不会失真.我怎样才能做到这一点?
Response.Write直接写入输出流,放置它之前<html>
浏览器非常困惑(导致文本问题).你想要做的是:
ClientScript.RegisterStartupScript(GetType(), "alert",
"alert('Please select Alpha or Beta');", true);
Run Code Online (Sandbox Code Playgroud)
ClientScript.RegisterStartupScript
包括要在加载时运行的页面中的脚本,而不是过早地放入响应.最后一个参数:true
告诉它将该警报包装在<script>
标签中,使您的代码更加清晰.