ascx页面刷新问题?

wangang2436 2012-03-30 10:15:13
123.asp页面中有 A.ascx, B.ascx, 其中在 A.ascx 如何执行javaScript命令来刷新A.ascx。因为只需要刷新A,暂时不需要刷新整个123.asp. 只用jQuery或javaScript实现,不能实现第三方ajax组件。

...全文
448 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
孟子E章 2012-03-30
  • 打赏
  • 举报
回复
注意上面的代码是A.ascx代码不是aspx里面写的!!
孟子E章 2012-03-30
  • 打赏
  • 举报
回复
asp.net 提供ascx功能和母版页的功能,只是为了编写程序的方便,编译之后,页面的所有东西都是编译成一个文件的。最终都是通过aspx,ashx等与客户端交互的

别说js了,你自己能通过http://xxx/a.ascx去访问到ascx吗??
孟子E章 2012-03-30
  • 打赏
  • 举报
回复
A.ascx不是页面,不能直接与客户端交互 的,明白吗??
wangang2436 2012-03-30
  • 打赏
  • 举报
回复
你的意思,明白。
-----
你是在同ascx中,jQuery 通过ajax 调用另外的4.asp来异步取数据后,写到div中。

我就是不想通过4.asp来取数,直接调用A.ascx中的方式来读数据。因这这样又要写4.asp, 如果实在不行,也没得办法了
孟子E章 2012-03-30
  • 打赏
  • 举报
回复
提交的例子

<%@ Control Language="C#" ClassName="A" %>
<script runat="server">
public string GetData()
{
return DateTime.Now.ToString();
}

protected void Page_Load(object sender, EventArgs e)
{
if (Request.QueryString["ajax"] != null)
{
Response.Clear();
Response.Write(GetData() + " 参数 " + Request.Params.Get("A"));
Response.End();
return;
}
}
</script>
<script src="jquery-1.7.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
function getData() {
$.ajax({
type: "POST",
data:{"A":$("#TextArea1").val()},
url: "<%=Request.FilePath%>?ajax=1",
success: function (result) {
$("#x").html(result);
},
error: function (result) {
$("#x").html(result.responseText);
},
});
}
</script>


<textarea id="TextArea1" cols="20" name="S1" rows="2"></textarea>
<input id="Button1" type="button" value="提交" onclick="getData()" />
<div ID="x"></div>


孟子E章 2012-03-30
  • 打赏
  • 举报
回复
简单啊,这样写即可

<%@ Control Language="C#" ClassName="A" %>
<script runat="server">
public string GetData()
{
return DateTime.Now.ToString();
}

protected void Page_Load(object sender, EventArgs e)
{
if (Request.QueryString["ajax"] != null)
{
Response.Clear();
Response.Write(GetData() + " 参数 " + Request.Params.Get("A"));
Response.End();
return;
}
}
</script>
<script src="jquery-1.7.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
function getData() {
$.ajax({
type: "POST",
data:{"A":"aa","B":"vv"},
url: "<%=Request.FilePath%>?ajax=1",
success: function (result) {
$("#x").html(result);
},
error: function (result) {
$("#x").html(result.responseText);
},
});
}

window.setInterval("getData()", 2000);
</script>
<div ID="x"></div>
wangang2436 2012-03-30
  • 打赏
  • 举报
回复
A.ascx
--------------
里面有<div> <table> n多列数据 </table> </div>
--------
因为:我在A.ascx里面放一个按钮,弹出窗口后,进行数据的修改, 关闭弹出窗后,需要回来刷新A.ascx数据。

而A.ascx又含在1.asp页面中。不能使用ajax三方组件来刷新A.ascx里面的内容,只能jQuery或JavaScrip调用
==================

孟子E章 2012-03-30
  • 打赏
  • 举报
回复
你的意思是加载A.ascx里面的方法来刷新数据?
wangang2436 2012-03-30
  • 打赏
  • 举报
回复
那不是使用A.ascx 又加重新加载另外一个asp页面呀. 我在A.ascx里面已放了很多表格与数据控件。

也就是说,将现在的A.ascx内容放到 3.asp里面,通过空的A.ascx(仅放asp:Panel)来加载呀

孟子E章 2012-03-30
  • 打赏
  • 举报
回复
可以实现的 啊,
A.ascx里面放一个<asp:Panel id=xx runat=server/>的控件
jQuery刷新

$("#<%=xx.ClientID%>").load("yy.aspx")
加载yy.aspx页面的数据,yy.aspx里面要去掉body之外的内容

62,025

社区成员

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

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

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

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