有关Response.write的问题,急,高手请帮忙

yuhao308155438 2010-11-20 10:42:54
我想做一个类似于dede的 消息提示的类,结果类写好了,输出的时候有问题了,Response.write输出的时候是把内容内嵌在网页顶部的,而页面其他内容没有清除,大家看看我这个方法吧,看了以后可能就知道该怎么办了

public void ShowMsg(string MsgContent, string gourl,int onlymsg, int limittime)
{
onlymsg = 0;
string msg;

string htmlhead = "<html>\r\n<head>\r\n<title>YuhaoCMS提示信息</title>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\" />\r\n";
htmlhead += "<base target='_self'/>\r\n<style>div{line-height:160%;}</style></head>\r\n<body leftmargin='0' topmargin='0'>";
htmlhead += "\r\n<center>\r\n<script>\r\n";
string htmlfoot = "</script>\r\n</center>\r\n</body>\r\n</html>\r\n";
int litime = limittime == 0 ? 1000 : limittime;
string func="";
if (gourl == "-1")
{
if (limittime == 0) litime = 5000;
gourl = "javascript:history.go(-1);";
}
if (gourl == "" || onlymsg == 1)
{
msg = "<script>alert(\""+MsgContent+"\");</script>";
}
else
{
if (Regex.IsMatch("close::", gourl))
{
string tgobj = Regex.Replace("close::", "", gourl).Trim();
gourl = "javascript:;";
func += "window.parent.document.getElementById('"+tgobj+"').style.display='none';\r\n";
}

func += "var pgo=0;function JumpUrl(){if(pgo==0){ location='" + gourl + "'; pgo=1; }}\r\n";

string rmsg = func;
rmsg += "document.write(\"<br /><div style='width:450px;padding:0px;border:1px solid #D1DDAA;'><div style='padding:6px;font-size:12px;border-bottom:1px solid #D1DDAA;';'><b>YuhaoCMS 提示信息!</b></div>\");";
rmsg += "document.write(\"<div style='height:130px;font-size:10pt;background:#ffffff'><br />\");";
rmsg += "document.write(\"" + MsgContent + "\");\r\n";
rmsg += "document.write(\"";
if (onlymsg == 0)
{
if (gourl != "javascript:;" && gourl != "")
{
rmsg += "<br /><a href='" + gourl + "'>如果你的浏览器没反应,请点击这里...</a>";
rmsg += "<br/></div>\");\r\n";
rmsg += "setTimeout('JumpUrl()'," + litime + ");";
}
else
{
rmsg += "<br/></div>\");\r\n";
}
}
else
{
rmsg += "<br/><br/></div>\");\r\n";
}
msg = htmlhead + rmsg + htmlfoot;
}
Response.Write(msg);

}


然后比如在A页面引用这个方法,A页面本来有东西的,但是这一引用之后出现了 上面的内容在A页面的<html>之上,这样网页就错了,
能不能用一中方法,直接让他输出新的内容,而不再原网页上内嵌?

这是仿的dede的一个ShowMsg方法,dede用的 是 echo msg; 具体请高人说下,谢谢

一下是输出的结果内容

<html>
<head>
<title>YuhaoCMS提示信息</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<base target='_self'/>
<style>div{line-height:160%;}</style></head>
<body leftmargin='0' topmargin='0'>
<center>
<script>
var pgo=0;function JumpUrl(){if(pgo==0){ location='Admin_ArcType.aspx'; pgo=1; }}
document.write("<br /><div style='width:450px;padding:0px;border:1px solid #D1DDAA;'><div style='padding:6px;font-size:12px;border-bottom:1px solid #D1DDAA;';'><b>YuhaoCMS 提示信息!</b></div>");document.write("<div style='height:130px;font-size:10pt;background:#ffffff'><br />");document.write("成功添加一个栏目");
document.write("<br /><a href='Admin_ArcType.aspx'>如果你的浏览器没反应,请点击这里...</a><br/></div>");
setTimeout('JumpUrl()',5000);</script>
</center>
</body>
</html>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head><title>
增加栏目
</title><link href="css/main.css" type="text/css" rel="stylesheet" /></head>
<body>
<form name="form1" method="post" action="Admin_ArcType.aspx" id="form1">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTE1MDU4MjEzNDYPZBYCAgMPZBYCAgUPEGQPFhVmAgECAgIDAgQCBQIGAgcCCAIJAgoCCwIMAg0CDgIPAhACEQISAhMCFBYVEAUM6aG257qn5qCP55uuBQEwZxAFDOmrmOS4reivreaWhwUCNDNnEAUY4pWg4pWQ6auY5Lit6K+t5paH5pWZ5qGIBQI0NWcQBRjilaDilZDpq5jkuK3or63mlofkvZzmlocFAjQ2ZxAFDOmrmOS4reaVsOWtpgUCNDRnEAUY4pWg4pWQ6auY5Lit5pWw5a2m5pWZ5qGIBQI0N2cQBQzpq5jkuK3kvZzmlocFAjQ4ZxAFDOmrmOS4reWOhuWPsgUCNDlnEAUM6auY5Lit5YyW5a2mBQI1MGcQBQblsI/phZIFAjUzZxAFB3NhZGZhZGYFAjU0ZxAFBmRmc3dlZgUCNTVnEAUFYXNkYWQFAjU2ZxAFA2F3ZQUCNTdnEAUDcXdlBQI1OGcQBQRzd2VyBQI1OWcQBQNxcXcFAjYwZxAFBTEyMzN3BQI2MWcQBQV3ZXF3ZQUCNjJnEAUEYXNkdwUCNjNnEAUEYXNkdwUCNjRnZGRkg6jRYdYLyX2DDtFo7lKkiFsWPRQ=" />
</div>



<table class="UserTableBorder" cellspacing="1" cellpadding="3" width="96%" align="center" border="0">
<tr>
<th colspan="3">
增加栏目</th>
</tr>
<tr>
<td class="td10">
栏目名称:</td>
<td class="td90">
<input name="txtName" type="text" value="qeqwwe" id="txtName" />
</td>
</tr>
<tr>
<td class="td10">
栏目路径:</td>
<td class="td90">
<input name="txtDir" type="text" id="txtDir" />
</td>
</tr>
<tr>
<td class="td10">
所属栏目:</td>
<td class="td90">
<select name="ddlParentId" id="ddlParentId">
<option selected="selected" value="0">顶级栏目</option>
<option value="43">高中语文</option>
<option value="45">╠═高中语文教案</option>
<option value="46">╠═高中语文作文</option>
<option value="44">高中数学</option>
<option value="47">╠═高中数学教案</option>
<option value="48">高中作文</option>
<option value="49">高中历史</option>
<option value="50">高中化学</option>
<option value="53">小酒</option>
<option value="54">sadfadf</option>
<option value="55">dfswef</option>
<option value="56">asdad</option>
<option value="57">awe</option>
<option value="58">qwe</option>
<option value="59">swer</option>
<option value="60">qqw</option>
<option value="61">1233w</option>
<option value="62">weqwe</option>
<option value="63">asdw</option>
<option value="64">asdw</option>

</select>
</td>
</tr>
<tr>
<td class="td10">
栏目关键词:</td>
<td class="td90">
<input name="txtKeyword" type="text" id="txtKeyword" style="width:253px;" />
</td>
</tr>
<tr>
<td class="td10">
栏目描述:</td>
<td class="td70">
<textarea name="txtDescription" rows="2" cols="20" id="txtDescription" style="height:71px;width:255px;"></textarea>
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="btnOk" value="保存" id="btnOk" class="Toolsbutton" />
</td>
</tr>
</table>



<div>

<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWGwLB9++LCALEhISFCwL/+vL9DwKvuvTlBQKzuoDmBQKzuojmBQKzuozmBQKzuoTmBQKzupDmBQKzutTlBQKzutjlBQK0urTmBQK0uoDmBQK0uoTmBQK0uojmBQK0uozmBQK0upDmBQK0utTlBQK0utjlBQK1urTmBQK1urjmBQK1urzmBQK1uoDmBQK1uoTmBQK+sdPcCAKE3ev/AwL9kpmPAYIZRwDtyDYxr/Pjt/1iaFTrkhrV" />
</div></form>
</body>
</html>

...全文
165 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuhao308155438 2010-11-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 sprc_lcl 的回复:]
Response.Write(msg);
Response.End();
[/Quote]

谢谢一楼 二楼 问题解决了 三楼可能没理解我的意思
86y 2010-11-20
  • 打赏
  • 举报
回复
可以用这个,你也可以将这个写成一个alert(str)方法调用。
System.Web.UI.ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "updateScript", "alert('测试!!');window.location.href='http://www.baidu.com';", true);
骑猪看海 2010-11-20
  • 打赏
  • 举报
回复
Response.End();
sprc_lcl 2010-11-20
  • 打赏
  • 举报
回复
Response.Write(msg);
Response.End();

62,272

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧