最后80分,全部给了
使用asp.net ajax
页面中放置scriptmanager和updatepanel,repeater和sqldatasource
想删除某一行的时候能够看到这一行被实时的删除
现在的问题是删除行的时候确实无刷新就删除了(数据库中已经没有了数据)
但是页面的结果还在
我必须刷新页面才能够那行被删除了
请问有什么办法让我一删除的时候立即就能够在页面上很直观的看到结果吗?
代码如下:<asp:UpdatePanel ID="updatePanelReply" runat="server">
<ContentTemplate>
<asp:Repeater runat="server" ID="repeaterReply" DataSourceID="SqlDataSourceReply">
<ItemTemplate>
<div class="replyTop">
<div class="replyAuthor"><%# Eval("add_date") %> Post by <%# Eval("author") %> <a href="#post">回复</a> <asp:LinkButton CommandName='<%# Eval("this_id") %>' OnClientClick="return confirm('确定删除吗?')" OnCommand="BtnDel_Click" runat="server" ID="linkButtonDelete" Text="删除" /></div>
<div class="replyContent"><%# Eval("content").ToString().Replace("\n", "").Replace("<", "<").Replace(">", ">").Replace("\r", "<br>").Replace(" ", " ") %></div>
</div>
</ItemTemplate>
</asp:Repeater>
<div style="text-align:right;padding-right:10px;"><asp:LinkButton ID="linkButtonShua" runat="server" Text="刷新评论列表" /></div>
<div class="replyTop">
<div class="replyAuthor"><a name="post" style="font-weight:bold;">回复此主题</a></div>
<div class="replyContent">
<div class="daMing">大名:<asp:TextBox runat="server" id="textboxDaMing" ValidationGroup="r"></asp:TextBox><span style="color:red;">*<asp:RequiredFieldValidator
ID="RequiredFieldValidator1" runat="server" ControlToValidate="textboxDaMing"
Display="Dynamic" ErrorMessage="请输入昵称!" SetFocusOnError="True" ValidationGroup="r"></asp:RequiredFieldValidator></span></div>
<div class="daMing">内容(请不要发表任何与政治相关的内容)<span style="color:red;">*<asp:RequiredFieldValidator
ID="RequiredFieldValidator2" runat="server" ControlToValidate="textboxContent"
Display="Dynamic" ErrorMessage="请输入内容!" SetFocusOnError="True" ValidationGroup="r"></asp:RequiredFieldValidator></span></div>
<div class="daMing"><asp:TextBox runat="server" id="textboxContent" Columns="50" Rows="10" TextMode="MultiLine" ValidationGroup="r"></asp:TextBox></div>
<div class="daMing"><asp:Button ID="buttonReply" runat="server" Text="回复" ValidationGroup="r" OnClick="buttonReply_Click" /></div>
</div>
</div>
<asp:SqlDataSource runat="server" ID="SqlDataSourceReply" EnableCaching="true" CacheDuration="1" ConnectionString="<%$ ConnectionStrings:Paged %>" SelectCommand="select * from YanJiuReply where parent_id=@parent_id order by this_id" InsertCommandType="StoredProcedure" InsertCommand="<%$ AppSettings:insertReply %>">
<SelectParameters>
<asp:QueryStringParameter QueryStringField="id" Name="parent_id" Type="Int32" DefaultValue="0" />
</SelectParameters>
<InsertParameters>
<asp:QueryStringParameter QueryStringField="id" Name="parent_id" Type="Int32" DefaultValue="0" />
<asp:ControlParameter ControlID="textboxDaMing" Type="string" Name="author" />
<asp:ControlParameter ControlID="textboxContent" Type="string" Name="content" />
</InsertParameters>
</asp:SqlDataSource>
</ContentTemplate>
</asp:UpdatePanel>非常感谢
使用asp.net ajax
页面中放置scriptmanager和updatepanel,repeater和sqldatasource
想删除某一行的时候能够看到这一行被实时的删除
现在的问题是删除行的时候确实无刷新就删除了(数据库中已经没有了数据)
但是页面的结果还在
我必须刷新页面才能够那行被删除了
请问有什么办法让我一删除的时候立即就能够在页面上很直观的看到结果吗?
代码如下:<asp:UpdatePanel ID="updatePanelReply" runat="server">
<ContentTemplate>
<asp:Repeater runat="server" ID="repeaterReply" DataSourceID="SqlDataSourceReply">
<ItemTemplate>
<div class="replyTop">
<div class="replyAuthor"><%# Eval("add_date") %> Post by <%# Eval("author") %> <a href="#post">回复</a> <asp:LinkButton CommandName='<%# Eval("this_id") %>' OnClientClick="return confirm('确定删除吗?')" OnCommand="BtnDel_Click" runat="server" ID="linkButtonDelete" Text="删除" /></div>
<div class="replyContent"><%# Eval("content").ToString().Replace("\n", "").Replace("<", "<").Replace(">", ">").Replace("\r", "<br>").Replace(" ", " ") %></div>
</div>
</ItemTemplate>
</asp:Repeater>
<div style="text-align:right;padding-right:10px;"><asp:LinkButton ID="linkButtonShua" runat="server" Text="刷新评论列表" /></div>
<div class="replyTop">
<div class="replyAuthor"><a name="post" style="font-weight:bold;">回复此主题</a></div>
<div class="replyContent">
<div class="daMing">大名:<asp:TextBox runat="server" id="textboxDaMing" ValidationGroup="r"></asp:TextBox><span style="color:red;">*<asp:RequiredFieldValidator
ID="RequiredFieldValidator1" runat="server" ControlToValidate="textboxDaMing"
Display="Dynamic" ErrorMessage="请输入昵称!" SetFocusOnError="True" ValidationGroup="r"></asp:RequiredFieldValidator></span></div>
<div class="daMing">内容(请不要发表任何与政治相关的内容)<span style="color:red;">*<asp:RequiredFieldValidator
ID="RequiredFieldValidator2" runat="server" ControlToValidate="textboxContent"
Display="Dynamic" ErrorMessage="请输入内容!" SetFocusOnError="True" ValidationGroup="r"></asp:RequiredFieldValidator></span></div>
<div class="daMing"><asp:TextBox runat="server" id="textboxContent" Columns="50" Rows="10" TextMode="MultiLine" ValidationGroup="r"></asp:TextBox></div>
<div class="daMing"><asp:Button ID="buttonReply" runat="server" Text="回复" ValidationGroup="r" OnClick="buttonReply_Click" /></div>
</div>
</div>
<asp:SqlDataSource runat="server" ID="SqlDataSourceReply" EnableCaching="true" CacheDuration="1" ConnectionString="<%$ ConnectionStrings:Paged %>" SelectCommand="select * from YanJiuReply where parent_id=@parent_id order by this_id" InsertCommandType="StoredProcedure" InsertCommand="<%$ AppSettings:insertReply %>">
<SelectParameters>
<asp:QueryStringParameter QueryStringField="id" Name="parent_id" Type="Int32" DefaultValue="0" />
</SelectParameters>
<InsertParameters>
<asp:QueryStringParameter QueryStringField="id" Name="parent_id" Type="Int32" DefaultValue="0" />
<asp:ControlParameter ControlID="textboxDaMing" Type="string" Name="author" />
<asp:ControlParameter ControlID="textboxContent" Type="string" Name="content" />
</InsertParameters>
</asp:SqlDataSource>
</ContentTemplate>
</asp:UpdatePanel>非常感谢
就是如果使用updatepanel的话验证控件显示不出错误消息
顺便问一下不知道这么解决了
谢谢
还有个最大的问题
就是使用sqldatasource和updatepanel,再使用textarea
那么你在textarea里面输入的内容在firefox下面使用button提交的话
内容的所有回车都没有了
全部是紧靠在一起的文字了,在IE下正常啊
但是去掉updatapanel,在firefox里面提交内容能够准确的得到回车符不知道什么原因
谢谢
2.显示错误消息只要用page的一个发送客户端脚本模块方法就可以,最后记得要Response.end();
我用过,好使