现在在用asp做一个rss阅读器,前台的按钮会调用后台的事件函数更改数据库里的字段。 <asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Always">
<ContentTemplate>
<table style="width:100%;">
<tr>
<td class="style1Transparent" valign="top"> <%showTitle(); %></td>
<td>
<% showRss();%></td>
</tr>
</table>
</ContentTemplate>
</asp:UpdatePanel> contenttemplate里面是一个表格表格左边显示标题 邮编显示内容 都是后台动态产生的。
为什么点击按钮后不刷新呢?
public void showRss()
{
ArrayList channel=new ArrayList(); //记录频道的动态数组
string strConnection = "server=localhost;database=rssdata;uid=sa;pwd=''"; //链接数据库的参数字符
SqlConnection sqlcon = new SqlConnection(strConnection); //建立连接
sqlcon.Open(); //打开数据库
//输出所有新闻
// Response.Write("<asp:UpdatePanel ID='UpdatePanel1' runat='server'>");
// Response.Write(" <ContentTemplate>");
Response.Write("<DIV id='Rss_cnt'class='content'>");
Response.Write("<span>");
SqlCommand adsa = new SqlCommand("select * from rss_table", sqlcon); //建立一个sqlcommand对象,要求输出相应的内容
SqlDataReader rdr = adsa.ExecuteReader();
while (rdr.Read())
{
Response.Write("<div class='back'>");
if (rdr.GetValue(8).Equals(0))
Response.Write("<input class='unreadbtn' type='image' width='20px' hight='20px' title='标记为已读' src='pic/unread.png' runat='server' value='" + rdr.GetValue(2).ToString() + "' onclick='changeread(this)' /> ");
else
Response.Write("<input class='readbtn' type='image' width='20px' hight='20px' title='标记为未读' src='pic/read.png' runat='server' value='" + rdr.GetValue(2).ToString() + "' onclick='changeread(this)' /> ");
if (rdr.GetValue(7).Equals(0))
Response.Write("<input class='unlikebtn' type='image' width='20px' hight='20px' title='加入喜欢' src='pic/unlike.png' runat='server' value='"+rdr.GetValue(2).ToString()+"' onclick='changelike(this)' /> ");
else
Response.Write("<input class='likebtn' type='image' width='20px' hight='20px' title='取消喜欢' src='pic/like.png' runat='server' value='" + rdr.GetValue(2).ToString() + "' onclick='changelike(this)' /> ");
Response.Write("<a href='" + rdr.GetValue(3) + "' target='_blank'>" + rdr.GetValue(2) + "</a><br/>"); //输出到客户端
Response.Write(rdr.GetValue(5) + "<br/>");
Response.Write(rdr.GetValue(4) + "<br/>");
Response.Write("</div><br/>");
}
Response.Write("</span>");
rdr.Close();
//输出最爱新闻
Response.Write("<span>");
adsa = new SqlCommand("select * from rss_table where likeornot=1", sqlcon); //建立一个sqlcommand对象,要求输出相应的内容
rdr = adsa.ExecuteReader();
while (rdr.Read())
{
Response.Write("<div class='back'>");
if (rdr.GetValue(8).Equals(0))
Response.Write("<input class='unreadbtn' type='image' width='20px' hight='20px' title='标记为已读' src='pic/unread.png' runat='server' value='" + rdr.GetValue(2).ToString() + "' onclick='changeread(this)' /> ");
else
Response.Write("<input class='readbtn' type='image' width='20px' hight='20px' title='标记为未读' src='pic/read.png' runat='server' value='" + rdr.GetValue(2).ToString() + "' onclick='changeread(this)' /> ");
if (rdr.GetValue(7).Equals(0))
Response.Write("<input class='unlikebtn' type='image' width='20px' hight='20px' title='加入喜欢' src='pic/unlike.png' runat='server' value='" + rdr.GetValue(2).ToString() + "' onclick='changelike(this)' /> ");
else
Response.Write("<input class='likebtn' type='image' width='20px' hight='20px' title='取消喜欢' src='pic/like.png' runat='server' value='" + rdr.GetValue(2).ToString() + "' onclick='changelike(this)' /> ");
Response.Write("<a href='" + rdr.GetValue(3) + "' target='_blank'>" + rdr.GetValue(2) + "</a><br/>"); //输出到客户端
Response.Write(rdr.GetValue(5) + "<br/>");
Response.Write(rdr.GetValue(4) + "<br/>");
Response.Write("</div><br/>");
}
Response.Write("</span>");
rdr.Close(); ……… Response.Write("</DIV>");
//Response.Write(" </ContentTemplate>");
// Response.Write("</asp:UpdatePanel> ");
sqlcon.Close();
}
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Always">
<ContentTemplate>
<table style="width:100%;">
<tr>
<td class="style1Transparent" valign="top"> <%showTitle(); %></td>
<td>
<% showRss();%></td>
</tr>
</table>
</ContentTemplate>
</asp:UpdatePanel> contenttemplate里面是一个表格表格左边显示标题 邮编显示内容 都是后台动态产生的。
为什么点击按钮后不刷新呢?
public void showRss()
{
ArrayList channel=new ArrayList(); //记录频道的动态数组
string strConnection = "server=localhost;database=rssdata;uid=sa;pwd=''"; //链接数据库的参数字符
SqlConnection sqlcon = new SqlConnection(strConnection); //建立连接
sqlcon.Open(); //打开数据库
//输出所有新闻
// Response.Write("<asp:UpdatePanel ID='UpdatePanel1' runat='server'>");
// Response.Write(" <ContentTemplate>");
Response.Write("<DIV id='Rss_cnt'class='content'>");
Response.Write("<span>");
SqlCommand adsa = new SqlCommand("select * from rss_table", sqlcon); //建立一个sqlcommand对象,要求输出相应的内容
SqlDataReader rdr = adsa.ExecuteReader();
while (rdr.Read())
{
Response.Write("<div class='back'>");
if (rdr.GetValue(8).Equals(0))
Response.Write("<input class='unreadbtn' type='image' width='20px' hight='20px' title='标记为已读' src='pic/unread.png' runat='server' value='" + rdr.GetValue(2).ToString() + "' onclick='changeread(this)' /> ");
else
Response.Write("<input class='readbtn' type='image' width='20px' hight='20px' title='标记为未读' src='pic/read.png' runat='server' value='" + rdr.GetValue(2).ToString() + "' onclick='changeread(this)' /> ");
if (rdr.GetValue(7).Equals(0))
Response.Write("<input class='unlikebtn' type='image' width='20px' hight='20px' title='加入喜欢' src='pic/unlike.png' runat='server' value='"+rdr.GetValue(2).ToString()+"' onclick='changelike(this)' /> ");
else
Response.Write("<input class='likebtn' type='image' width='20px' hight='20px' title='取消喜欢' src='pic/like.png' runat='server' value='" + rdr.GetValue(2).ToString() + "' onclick='changelike(this)' /> ");
Response.Write("<a href='" + rdr.GetValue(3) + "' target='_blank'>" + rdr.GetValue(2) + "</a><br/>"); //输出到客户端
Response.Write(rdr.GetValue(5) + "<br/>");
Response.Write(rdr.GetValue(4) + "<br/>");
Response.Write("</div><br/>");
}
Response.Write("</span>");
rdr.Close();
//输出最爱新闻
Response.Write("<span>");
adsa = new SqlCommand("select * from rss_table where likeornot=1", sqlcon); //建立一个sqlcommand对象,要求输出相应的内容
rdr = adsa.ExecuteReader();
while (rdr.Read())
{
Response.Write("<div class='back'>");
if (rdr.GetValue(8).Equals(0))
Response.Write("<input class='unreadbtn' type='image' width='20px' hight='20px' title='标记为已读' src='pic/unread.png' runat='server' value='" + rdr.GetValue(2).ToString() + "' onclick='changeread(this)' /> ");
else
Response.Write("<input class='readbtn' type='image' width='20px' hight='20px' title='标记为未读' src='pic/read.png' runat='server' value='" + rdr.GetValue(2).ToString() + "' onclick='changeread(this)' /> ");
if (rdr.GetValue(7).Equals(0))
Response.Write("<input class='unlikebtn' type='image' width='20px' hight='20px' title='加入喜欢' src='pic/unlike.png' runat='server' value='" + rdr.GetValue(2).ToString() + "' onclick='changelike(this)' /> ");
else
Response.Write("<input class='likebtn' type='image' width='20px' hight='20px' title='取消喜欢' src='pic/like.png' runat='server' value='" + rdr.GetValue(2).ToString() + "' onclick='changelike(this)' /> ");
Response.Write("<a href='" + rdr.GetValue(3) + "' target='_blank'>" + rdr.GetValue(2) + "</a><br/>"); //输出到客户端
Response.Write(rdr.GetValue(5) + "<br/>");
Response.Write(rdr.GetValue(4) + "<br/>");
Response.Write("</div><br/>");
}
Response.Write("</span>");
rdr.Close(); ……… Response.Write("</DIV>");
//Response.Write(" </ContentTemplate>");
// Response.Write("</asp:UpdatePanel> ");
sqlcon.Close();
}
解决方案 »
- 两个IE的cookie是独立的吗?
- 想知道ASP.net能够实现和win32程序一下的功能吗?
- FormsAuthentication是不理一定得用RedirectFromLoginPage才可会让User.Identity.IsAuthenticated属性为True?
- 俺问个愚昧的问题:在客户端可不可以执行数据读取,假如是个文本里的数据?
- 进行用户身份验证的方法有哪些啊?
- 自定义异常类是怎么架构???急
- 下载并安装了IEWebControls,怎么在vs.net web窗体设计工具箱中还是没见treeview控件?
- 请求高手帮助>>>>>>>>>
- 关于变量问题!
- 很急很急...
- 端口全关的情况下能跑IIS吗?
- 实现状态的更新
Response.Write("<input class='unlikebtn' type='image' width='20px' hight='20px' title='加入喜欢' src='pic/unlike.png' runat='server' value='" + rdr.GetValue(2).ToString() + "' onclick='changelike(this)' /> ");
else
Response.Write("<input class='likebtn' type='image' width='20px' hight='20px' title='取消喜欢' src='pic/like.png' runat='server' value='" + rdr.GetValue(2).ToString() + "' onclick='changelike(this)' /> ");我看网上的例子按钮都是放在contenttemple里面的呀
我的新闻内容是服务器端从数据库里读出 然后用respone动态生成到前台的,然后点击按钮会引起数据库里面数据的变化,新闻内容这个div也会跟着变化<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Always">
<ContentTemplate>
<table style="width:100%;">
<tr>
<td class="style1Transparent" valign="top"> <%showTitle(); %></td>
<td>
<% showRss();%></td>
</tr>
</table>
</ContentTemplate>
</asp:UpdatePanel> 我的理解是他会重新调用一遍showtitle和showrss,于是这两部分会得到更新。但是结果是不能用respone 然后也更新不了。我测试了一下 点击按钮是有调用到这两个函数的,但是为什么界面没有更新呢?