wap 开发中,如何转义或去掉ObjectList 读出的HMTL标记代码?

agclqq 2009-01-06 08:10:21
如题。贴出以下代码

这是.cs文件,引用了db类,dataset的方法,才学的,用的不好,555555

protected void Page_Load(object sender, EventArgs e)
{
db a = new db();
DataSet dds = new DataSet();
dds = a.TdataSet("SELECT top 50 * FROM [fs_ns_news] order by id desc");
if (dds.Tables["temp"].Rows.Count == 0)
{
Label1.Text = "无内容!";
}
else
{

if (!IsPostBack)
{
ObjectList1.DataSource = dds;
ObjectList1.DataMember = "temp";
ObjectList1.DataBind();


}
}
}


以下是.aspx代码


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<%@ Register TagPrefix="mobile" Namespace="System.Web.UI.MobileControls" Assembly="System.Web.Mobile" %>
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<mobile:Form ID="Form1" Runat="server" Method="Get" PagerStyle-StyleReference="" Paginate="True" StyleReference="PagerStyle1">
你好,这是我的第一个wap程序!
<mobile:ObjectList ID="ObjectList1" Runat="server" CommandStyle-StyleReference="subcommand"
LabelStyle-StyleReference="title" ItemsPerPage="10" AutoGenerateFields="False"
BackColor="#E0E0E0">
<Field DataField="newstitle" Name="标题" />
<Field DataField="content" Name="内容" />
</mobile:ObjectList>
</mobile:Form>
<mobile:StyleSheet ID="StyleSheet1" Runat="server">
<PagerStyle BackColor="#C9DEFB" ForeColor="#1D306A" Name="PagerStyle1" />
</mobile:StyleSheet>
</body>
</html>


第一个问题:现在能够显示,也能正常输出所需要显示的内容,不过,输出的内容里有html代码时,他不会自动转义,我查了查DataFormatString,不会用,也不知道能不能转义。

第二个问题:objectlist实现分页之后,进入下一页时,“你好,这是我的第一个wap程序!”竟然没有了,我想让他一直保留着,请问如何办到?再一个,分页的形式能不能换成 “第1页 2 3 4 5 ..最后一页”这样的形式,请求各位超人,大侠不吝赐教!!!!!!!!!!!小弟拜谢!!!!!!!
...全文
234 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenguang79 2009-02-13
  • 打赏
  • 举报
回复
mobile:Form这个控件我没有用过,不知道里面有没有自定义模板啊。如果有自定义模板就好办了多了。就相gridview里的自定义模板。
这样你在前台显示的时候写一个方法就行了
<%# FilterHtml(Eval("相应字段"))%>
FilterHtml方法上面已经给了。你把static去掉,就可以用了
veryhi 2009-02-13
  • 打赏
  • 举报
回复
使用TextView即可
agclqq 2009-01-12
  • 打赏
  • 举报
回复
还是没有人来啊
agclqq 2009-01-08
  • 打赏
  • 举报
回复
为啥没有人来呢?
agclqq 2009-01-07
  • 打赏
  • 举报
回复
up
agclqq 2009-01-07
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 Fibona 的回复:]
/// <summary>
/// 去除html中中的html元素
/// </summary>
/// <param name="content"> </param>
/// <returns> </returns>
public static string FilterHtml(string content)
{
string newstr = FilterScript(content);
string regexstr = @" <[^>]*>";
return Regex.Replace(newstr, regexstr, string.Empty, RegexOptions.IgnoreCase);
}
[/Quote]
请问下三楼,这个该怎么传参啊,我是直接将dataset绑到了objectlist上,请问这个怎么办啊,谢谢!
agclqq 2009-01-07
  • 打赏
  • 举报
回复
来个人啊
veryhi 2009-01-07
  • 打赏
  • 举报
回复
up一下
agclqq 2009-01-07
  • 打赏
  • 举报
回复
up
Fibona 2009-01-06
  • 打赏
  • 举报
回复
/// <summary>
/// 去除页面中的所有的Script代码
/// </summary>
/// <param name="content"></param>
/// <returns></returns>
public static string FilterScript(string content)
{
string regexstr = @"<script([^<script])*>.*(?=</script>)</script>";//使用边界限制来获取
return Regex.Replace(content, regexstr, string.Empty, RegexOptions.IgnoreCase | RegexOptions.Singleline);

}


/// <summary>
/// 去除html中中的html元素
/// </summary>
/// <param name="content"></param>
/// <returns></returns>
public static string FilterHtml(string content)
{
string newstr = FilterScript(content);
string regexstr = @"<[^>]*>";
return Regex.Replace(newstr, regexstr, string.Empty, RegexOptions.IgnoreCase);
}
jiangshun 2009-01-06
  • 打赏
  • 举报
回复
1.
在提交数据的时候过滤一下

str=str.Replace("'", "''");//单引号替换成两个单引号替换
str=str.Replace("&","&"); //过滤字符&
str=str.Replace("\"","""); //过滤字符\
str=str.Replace("<","<"); //过滤字符<
str=str.Replace(">",">"); //过滤字符>
str=str.Replace(" "," "); //过滤字符空格" "
str=str.Replace(" ","  "); //过滤字符" "" "
str=str.Replace("\t","  ");//过滤字符\t
str=str.Replace("\r", "<br>");//过滤字符\r<br>
agclqq 2009-01-06
  • 打赏
  • 举报
回复
UP

62,254

社区成员

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

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

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

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