请问asp.net 如何在后台获取DIV的高度

在发表一篇文章时,有的时候文章内容会太长,导致页面会被拉的很长,后台添加新闻是用xheditor做的,所以里面会生成很多的样式,截取字符串可能会把样式也给截取掉,但是xh... 在发表一篇文章时,有的时候文章内容会太长,导致页面会被拉的很长,后台添加新闻是用xheditor做的,所以里面会生成很多的样式,截取字符串可能会把样式也给截取掉,但是xheditor有没有内置的自动分页,所以我想通过后台控制得带DIV的高度来进行分页 ,请各位大侠指点一二 展开
 我来答
yuanmin1990
2013-04-11 · TA获得超过169个赞
知道小有建树答主
回答量:129
采纳率:100%
帮助的人:69.2万
展开全部
/// <summary>
/// 长内容分页 哈希表需要引用命名空间System.Collections
/// </summary>
/// <param name="n_content">新闻内容</param>
/// <param name="page">是新闻当前页数</param>
/// <param name="size">每页显示字符长度</param>
/// <param name="linkurl">页码链接地址</param>
/// <returns></returns>
public System.Collections.Hashtable SeparatePages(string n_content, string page, int size, string linkurl)
{
//在此处放置初始化页的用户代码
System.Collections.Hashtable returnHash = new System.Collections.Hashtable();
int start, stops, t, stat, pp, pagecount, pagesize;
string pa, articletxt, articletext, html;
int pig = 0;
//变量初始值
stat = 0;
start = 0; //开始查询的字符串位置,初始为0
stops = 0;
pagesize = size;//定义每页至少显示字符串数
pagecount = 0;
html = "";
//获得当前的页数
pa = page;
if (pa == "" || pa == null)
{
pa = "1";
}
pp = Convert.ToInt32(pa);
//获得内容
articletxt = n_content;
//判断页面的内容长度是否大于定义的每页至少显示字符串数
if (articletxt.Length >= pagesize) // 如果大于字符串数,则我们可以分页显示
{
t = articletxt.Length / pagesize; //获得大致的总页数
for (int j = 0; j <= t; j++)
{ //如果查询开始位置到查询的范围超出整个内容的长度,那么就不用寻找断点(分页点);反之,查找
if (start + pagesize < articletxt.Length)
{
stat = articletxt.ToLower().IndexOf("</p>", start + pagesize); //查找</P>分页点的位置
if (stat == -1)
stat = articletxt.ToLower().IndexOf("<br>", start + pagesize); //查找</P>分页点的位置
if (stat == -1)
stat = articletxt.ToLower().IndexOf("<br/>", start + pagesize); //查找</P>分页点的位置
}
if (stat <= 0)//如果找不到
{
}
else
{
stops = stat; //分页点的位置也就作为这一页的终点位置
if (start < articletxt.Length)
{
if ((articletxt.Length - start) < pagesize)
{
if (pig == 0)
{
pagecount = pagecount + 1;
}
pig = 1;
}
else
{
pagecount = pagecount + 1;
}
}
if (start + pagesize >= articletxt.Length) //如果起始位置到查询的范围超出整个内容的长度,那么这一页的终点位置为内容的终点
{
stops = articletxt.Length;
}
if (pp == j + 1) //如果是当前,那么输出当前页的内容
{
articletext = articletxt.Substring(start, stops - start); //取内容的起始位置到终点位置这段字符串输出
returnHash["content"] = articletext;
}
start = stat; //将终点位置作为下一页的起始位置
}
}// pagecount = pagecount - 1;
}
else
{
returnHash["content"] = n_content;
}
//分页部分(这里就简单多了)
//定义分页代码变量
if (pagecount > 1) //当页数大于1的时候我们显示页数
{
html = html + "<div style='display:block'>";
if (pp - 1 > 0) //显示上一页,方便浏览
{ html = html + "<a href=\"" + linkurl + "&page=" + (pp - 1) + "\">[上一页]</a> "; }
else
{
if (pp == 1)
{ html = html + "[<font color=#cccccc>上一页</font>] "; }
else
{ html = html + "<a href=\"" + linkurl + "&page=\"" + (1) + "\">[上一页]</a> "; }
}
for (int i = 1; i <= pagecount; i++)
{
if (i == pp) //如果是当前页,加粗显示
{ html = html + "<b>[" + i + "]</b> "; }
else
{ html = html + "<a href=\"" + linkurl + "&page=" + i + "\">[" + i + "]</a> "; }
}
if (pp + 1 > pagecount) //显示下一页,方便浏览
{
if (pp == pagecount)
{ html = html + "[<font color=#cccccc>下一页</font>] "; }
else
{ html = html + "<a href=\"" + linkurl + "&page=" + (pagecount) + "\">[下一页]</a></p>"; }
}
else
{
html = html + "<a href=\"" + linkurl + "&page=" + (pp + 1) + "\">[下一页]</a></p>";
}
html = html + " </div>";
}
returnHash["pagetxt"] = html;
return returnHash;
}
public void GetNewsWord(string lurl)
{
string path = "../News/" + UpLoadName + ".html";
string patht = Server.MapPath(path);
string content;
if (File.Exists(patht) == false)
{
content = "文件不存在!";
}
else
{
content = PublicMethod.GetHtmlContent(path);
}
string page = "1";
try
{
page = Request.QueryString["page"];
}
catch (Exception)
{
page = "1";
throw;
}
//string url = Request.Url.ToString();
StringBuilder sk = new StringBuilder();
StringBuilder sv = new StringBuilder();
System.Collections.Hashtable objHasTab = SeparatePages(content, page, 1000, lurl);
foreach (System.Collections.DictionaryEntry objDE in objHasTab)
{
//sbc.ap
sk.Append(objDE.Key.ToString());
sv.Append(objDE.Value.ToString());
}
divContent.InnerHtml = sv.ToString();
}

之前在网上找到个,然后我研究出来是这样的,看看对你有没有帮助。

百度网友a2988ce
2013-04-11 · TA获得超过223个赞
知道小有建树答主
回答量:302
采纳率:100%
帮助的人:178万
展开全部
给DIV里加入runat="server"
后台通过 DIV的ID获得DIV元素
然后用过设置元素的 InnerHtml 间接设置高度

(未验证。。。。。。。)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
glslian14cce7
2013-04-11 · TA获得超过1541个赞
知道小有建树答主
回答量:1389
采纳率:81%
帮助的人:564万
展开全部
这个其实可以用读取字符长度来判断截取,先去除HTML代码,然后在截取。
其次读取长度的话貌似不是很现实。不过楼主可以先用js读取页面长度然后传给text文本,后台读取。
其实还有种方法,用js做分页也是可以了。这个代码网上是有的!楼主可去找找~~~
希望楼主早日解决问题、、、
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-04-11
展开全部
试下将div添加runat = "server"属性转化为服务器端控件呢,记得给div赋ID属性,这样后台就可以通过ID找
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式