以前问过但不了了之
现在又想问了;
如一个服务器image控件
生成的HTML如是
“<img id="img1" name="img1" src="" alt="" />”
那我现在要让他生成的HTML为
“哈哈你看不到我,你看不到我”这个要如何来实现呢
现在又想问了;
如一个服务器image控件
生成的HTML如是
“<img id="img1" name="img1" src="" alt="" />”
那我现在要让他生成的HTML为
“哈哈你看不到我,你看不到我”这个要如何来实现呢
{
protected override void Render(HtmlTextWriter writer)
{
TextWriter tempWriter = new StringWriter();
StringBuilder sb = new StringBuilder();
sb.Append(“哈哈你看不到我,你看不到我"); writer.Write(sb.ToString());
}
}
那这样设置就行了.
<img style="display:none" src="" />
sb.Append("哈哈你看不到我,你看不到我");
this.RegisterStartupScript("", sb.ToString());
RegisterClientScriptBlock()或
RegisterStartupScript()
都可以注册客户端代码.
如有以下页面和代码大家补充<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default8.aspx.cs" Inherits="Default8" %>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<asp:Image ID="Image1" runat="server" />
</form>
</body>
</html>
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;public partial class Default8 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//请在这里补上,说明那个Image控件不是用Visible=flase变的,而是要用重写写掉他
}
}要实现的是生成的HTML为<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>
无标题页
</title></head>
<body>
<form name="form1" method="post" action="Default8.aspx" id="form1">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTk3MzY5NzU2NmRkiRurDKlYapmWX5CIWzT9VjnLJzc=" />
</div>
哈哈你看不到我,你看不到我
</form>
</body>
</html>
如果没有达到你要替换的条件,继续显示image
如果达到了你要输出“哈哈你看不到我,你看不到我”的条件
if(!isnormal)
{
pannel.Controls.Clear();
pannel.controls.Add(new Litral("哈哈你看不到我,你看不到我"));
}
----------------------
不要改变我的ASPX文件
因为现在我的方法就是用一个Image和一个Litral来显示的Images.Visible=true时Litral.Visible=flase 反之相反
所以我不想用这种方法谢谢
{ for (int i = 0; i < this.Form1.Controls.Count; i++)
{
if (this.Form1.Controls[i] == this.Image1)
{
this.Image1.Visible = false;
Literal lt = new Literal();
lt.Text = "你看不见我~";
this.Form1.Controls.AddAt(i, lt);
i++;
}
} base.OnPreRender(e);
}