asp.net C#,如何实现公告栏中这种效果? 跪求高手解答

asp.netC#,如何为GridView的文章标题添加超链接使其链接到文章内容?另如何实现公告栏中这种效果?层可以绑定数据,可以拖动,如图我的联系方式243845414... asp.net C#,如何为GridView的文章标题添加超链接使其链接到文章内容?另如何实现公告栏中这种效果? 层可以绑定数据,可以拖动,如图
我的联系方式243845414@qq.com
展开
 我来答
chyp19861001
2011-05-11
知道答主
回答量:10
采纳率:0%
帮助的人:4.2万
展开全部
首先回答第一个问题:用gridview的标题作为超链接;网上有很多说法,本人认为如果只有一列的公告,用这个比较合适:(这里只贴前台html,因为后台的数据绑定处理比较容易)
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
style="margin-right: 0px" Width="143px">
<Columns>
<asp:TemplateField ShowHeader="False" HeaderText="文章标题">
<ItemTemplate>
<a href='Default2.aspx'><%#Eval("title") %></a>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
在后台帮个数据源,Eval("title") 里的title是绑定的字段名换掉即可,href='Default2.aspx'这个是连接,可以加参数,但要自己拼,无非就这条的id,同样可以通过Eval("id")得到,然后拼接一起就可以了,相信你能看懂。
另外介绍一个用后台代码循环出来的例子,核心是利用gridview渲染时的方法,在画每行的时候进行处理;
这分两种情况:模板列和非模板列,都可以在后台的RowDataBound事件中进行
1.非模板列情况
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.Cells[0].Text == "复旦大学城")
{
e.Row.Cells[0].Text = "<a href='default.aspx'>" + e.Row.Cells[0].Text
+ "</a>";
}
}
}

2.模板列情况
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
Label myL = (Label)e.Row.Cells[0].FindControl("Label1");
if (myL.Text == "复旦大学城")
{
myL.Text = "<a href='default.aspx'>" + myL.Text + "</a>";
}
}
}
第二个问题的回答不好太费劲,因为那就一个js特效,他有可能是用了Jquery之类的组件实现的,或者ext等富客户端脚本实现,那个需要一番研究才能做好,希望你有时间自己去研究一下吧!好了,以上就是我的回答,希望对你能有所帮助!
znyfqv2470
2011-05-11 · TA获得超过1542个赞
知道小有建树答主
回答量:790
采纳率:100%
帮助的人:457万
展开全部
<div id="exhib_1" class="border">
<div class="title">
<h2>
认证公告:</h2>
<div class="clear">
</div>
</div>
<div id="rolllink" style="overflow: hidden; padding-left: 10px; width: 250px; height: 130px">
<div id="rolllink1">
<ul class="midContent list">
<LI>绑定数据</LI>
<LI>绑定数据</LI>
<LI>绑定数据</LI>
<LI>绑定数据</LI>
<LI>绑定数据</LI>
<LI>绑定数据</LI>
<LI>绑定数据</LI>
<LI>绑定数据</LI>
</ul>
</div>
<div id="rolllink2">
</div>
</div>

<script type="text/javascript">
var rollspeed=40
rolllink2.innerHTML=rolllink1.innerHTML
function Marquee(){
if(rolllink2.offsetTop-rolllink.scrollTop<=0)
rolllink.scrollTop-=rolllink1.offsetHeight
else{
rolllink.scrollTop++
}
}
var MyMar=setInterval(Marquee,rollspeed)
rolllink.onmouseover=function()
rolllink.onmouseout=function()
</script>

</div>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
老孟1113
2011-05-11 · TA获得超过1180个赞
知道答主
回答量:135
采纳率:0%
帮助的人:0
展开全部
不用跪求,站着我就给你解答,哈哈
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2011-05-11 · TA获得超过5.7万个赞
知道大有可为答主
回答量:3万
采纳率:17%
帮助的人:1.2亿
展开全部
这归FLASH的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nilengmode
2011-05-11 · TA获得超过259个赞
知道答主
回答量:46
采纳率:0%
帮助的人:0
展开全部
js实现的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 5条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式