新手求助,求高手来看一看

a594425779 2012-08-01 05:45:00
由于最近领导要求,才接触asp.net 于是用VS2010新建了一个C#的asp.net网站 ,基本是Web.config、Site.master、Defalut.aspx这些文件,每次运行也是从Site.master进入

由于要实现局部数据的无闪刷新,瞬间就把我这个新手难住了。看了好多网上的例子

现在Defalut.aspx代码是这种情况,目地是对Ua自动刷新,其他的文件都是默认的未修改
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<asp:Button ID="Button1" runat="server"
style="top: 485px; left: 670px; position: absolute; height: 26px; width: 56px"
Text="Button" onclick="Timer1_Tick" />

<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Always">
<ContentTemplate>
<asp:Timer ID="Timer1" runat="server" Interval="1000" OnTick="Timer1_Tick">
</asp:Timer>
<asp:Label ID="Ua" runat="server" Text="Ua"
style="top: 570px; left: 723px; position: absolute; width: 31px"></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>

cs文件Timer1_Tick方法是查询数据库并赋值 this.Ua.Text = “”;

结果是不会自动刷新,Timer就根本不触发Timer1_Tick的事件,但是点了Button按钮是可以触发的

现在主要是以下疑惑:1.是不是因为新建的项目是WebForm就不可以使用Timer了,为什么Timer不触发呢?
2.点击按钮有时候会出现闪屏,如何解决呢?
3.看见网上有些是JS实现的,但是我看见好多都是用到JSp,可是asp。net里面都是aspx文件啊?
4.如果哪位大大有能解决这个问题的事例,还请给小的看看,好人一生平安啊~~
...全文
148 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
a594425779 2012-08-02
  • 打赏
  • 举报
回复
啊 谢谢大家了- - 琢磨了好几天 终于发现问题了 我在cs查询数据的时候为了查看数据就加了好多Response.write(""),结果就是它导致了下面的查询按钮和Timer等操作就不进行了 ,(虽然不懂为什么,但是还是找到了原因),谢谢大家的热心帮助啊
  • 打赏
  • 举报
回复
用timer完全可以,但是你贴出的这部分代码看不出什么问题
a594425779 2012-08-02
  • 打赏
  • 举报
回复
求教用Json需要哪些引用啊,我复制进去都是报错的 T_T
[Quote=引用 7 楼 的回复:]

引用 4 楼 的回复:
最好不要在依赖服务器控件这种吧,试试直接用html+AJAX的那种很容易就达到你的效果
示例代码如下
AjaxRefresh.aspx

HTML code

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mv……
[/Quote]
luhuiming741cs 2012-08-02
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
最好不要在依赖服务器控件这种吧,试试直接用html+AJAX的那种很容易就达到你的效果
示例代码如下
AjaxRefresh.aspx

HTML code

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<dyna……
[/Quote]
这个很详细
myjieli 2012-08-02
  • 打赏
  • 举报
回复
Jquery
a594425779 2012-08-02
  • 打赏
  • 举报
回复
请问 ACtionResult、View()、JsonResult、 JSon 这些都报错,这些需要引用哪些包啊~using Newtonsoft.Json;这个好像没效果啊。

我太菜了 捂脸
[Quote=引用 4 楼 的回复:]

最好不要在依赖服务器控件这种吧,试试直接用html+AJAX的那种很容易就达到你的效果
示例代码如下
AjaxRefresh.aspx
HTML code

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<dynami……
[/Quote]
davidcoffee 2012-08-01
  • 打赏
  • 举报
回复
最好不要在依赖服务器控件这种吧,试试直接用html+AJAX的那种很容易就达到你的效果
示例代码如下
AjaxRefresh.aspx

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
AjaxRefresh
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>
AjaxRefresh</h2>
<div id="currentTime">
</div>
<script language="javascript" type="text/javascript">
$(document).ready(function () {
//每秒定时调用后台刷新数据
var date = new Date();
var mytime = date.getFullYear() + "/" + (date.getMonth() + 1) + "/" +
date.getDate() + " " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
$("#currentTime").html(mytime);
window.setInterval(AjaxRefreshContent, 1000);
})

//定时异步刷新数据库任务
var AjaxRefreshContent = function () {
$.ajax({
url: "/Test/GetCurrentTime",
dataType: "json",
type: "post",
success: function (result) {
$("#currentTime").html(result.currentTime);
}
})
}
</script>
</asp:Content>

后台TestController.cs

public ActionResult AjaxRefresh()
{
return View();
}

/// <summary>
/// 获取当前时间
/// </summary>
/// <returns></returns>
public JsonResult GetCurrentTime()
{
//这里只是用时间做例子你可以自己选择你要选取的数据赋给前台定时刷新
return Json(new { currentTime = DateTime.Now.ToStandardString() });
}

lizhihui3000 2012-08-01
  • 打赏
  • 举报
回复
用JQ来搞定啊
a594425779 2012-08-01
  • 打赏
  • 举报
回复
用Timer主要想实现对数据库数据的自动更新,就是不用点按钮就自动刷新数据 可是没效果

看见网上的JS的又看不懂了 没有一个完整的示例
[Quote=引用 1 楼 的回复:]

Button要放到UpdatePanel里面 ,另外你要的功能这是点击按钮 然后从数据库中去取出数据 并无刷新的呈现出来,这里貌似不用Timer把
页面
HTML code
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="……
[/Quote]
應燁軍 2012-08-01
  • 打赏
  • 举报
回复
Button要放到UpdatePanel里面 ,另外你要的功能这是点击按钮 然后从数据库中去取出数据 并无刷新的呈现出来,这里貌似不用Timer把
页面
    <asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Label runat="server" ID="lblResult"></asp:Label>
<asp:Button runat="server" ID="btnTest" Text="测试" />
</ContentTemplate>
</asp:UpdatePanel>

后台
protected void Page_Init(object sender, EventArgs e) {
btnTest.Click += new EventHandler(btnTest_Click);
}

protected void btnTest_Click(object sender, EventArgs e) {
lblResult.Text = "- -!";
}

62,242

社区成员

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

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

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

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