首页 新闻 搜索 专区 学院

asp.net动态生成内容并生成对此内容的Url链接

0
悬赏园豆:100 [已解决问题] 解决于 2012-10-19 12:47

问题是这样的,我有一个asp.net 页面,现在想访问此页面时,页面生成一段文本,但此文本不直接显示在页面上,而是通过一个链接可以访问,页面只显示这个链接,有朋友知道怎么实现吗?

详细描述如下:

现有一页面A,访问A的时候,会根据A的某些控件生成一段xml,同时在A上生成一个链接<a href="link"></a> link指向*.xml,xml内容是刚才生成的xml,不知道这样描述清楚了吗?

问题补充:

看到有朋友回答,十分感谢,不过和我需要的有些出入,再把问题描述清楚一些,就是在页面上生成一个Url链接,比如<a href="url"></a>

其中url是页面自己生成的内容,不是一个已经存在的文件,页面关闭之后,url地址就不存在了

 

不知道有没有朋友用过Ext.Net 在Ext.Net中的ResourceManager有一个InitScriptMode属性,如果这个设为Linked,那么Ext.Net生成的脚本是以外链形式嵌入,否则以页面脚本嵌入,我想实现同样的功能,只是把脚本换成其他内容!

日食的主页 日食 | 菜鸟二级 | 园豆:344
提问于:2012-10-17 20:49
< >
分享
最佳答案
0

访问页面时,生成一个GUID放在session里,并把它作为链接的参数,显示链页面生成内容前比对下session里有没有这个GUID,有才生成内容。

A页面:

string LinkId=Guid.NewGuid().ToString();
Session["linkId"]=LinkId;

<a href="B.aspx?linkId=<%=LinkId%>">B页面</a>
B页面:

if(Session["linkId"]!=null && Request["linkId"]==Session["linkId"].ToString()){
   生成内容...

  Session["linkId"]=null;//如果只想显示一次,不过一般都是在session有效期内可以访问。

}
收获园豆:60
向往-SONG | 老鸟四级 |园豆:4853 | 2012-10-18 06:02

这样需要存在一个B页面,实际上我想让B页面不存在,B就是动态生成的一段内容,比如一段xml或者一段json数据

日食 | 园豆:344 (菜鸟二级) | 2012-10-18 12:49

@日食: 

B不是一个页面啊,B代表你生成内容的处理程序。

向往-SONG | 园豆:4853 (老鸟四级) | 2012-10-18 13:21

@向往-SONG: 打算按照您提供的思路去尝试,谢谢回答!

日食 | 园豆:344 (菜鸟二级) | 2012-10-19 12:48
其他回答(6)
0

$(function(){

$("<a href=''  >文字</a>").appendTo($("body"));

});

chenping2008 | 园豆:9836 (大侠五级) | 2012-10-17 20:57
0

你的意思是动态生成内容然后点击一个link显示出来是不是?

田林九村 | 园豆:2367 (老鸟四级) | 2012-10-17 21:40

是的,不过link需要是单独页面显示,不是在当前页面弹出

支持(0) 反对(0) 日食 | 园豆:344 (菜鸟二级) | 2012-10-17 22:24

@日食: 那你想要的功能就是进入页面的同时,生成一个指定内容的文件,文件可以保存到项目中的某一个路径下,同时页面生成一个访问这个页面的link. 这个没有任何技术上的难点,唯一的难点是页面关闭之后url不存在(即这个生成的页面要删除),这点不能做到,因为关闭页面的情况很多,比如:电脑突然关机,所以可以换种方法:比如做一个job,定时清理这些生成的文件

支持(0) 反对(0) 田林九村 | 园豆:2367 (老鸟四级) | 2012-10-18 08:01
0

我觉得他的饿意思其实是, 点一下内容就显示出来出来 ,用js+css 不好了么

世界万物 | 园豆:276 (菜鸟二级) | 2012-10-18 09:19
0

用js控制div的显示与隐藏,原理在页面上生成一个a标签,和一个隐藏的div,div里面存放内容,然后a标签的点击事件中控制div的显示

az235 | 园豆:8283 (大侠五级) | 2012-10-18 09:36
0

你想让一个链接连到你在页面生成的一段存在但不显示的文字上面?

顾晓北 | 园豆:10819 (专家六级) | 2012-10-18 10:17
0

如果是@田林九村 说的是你想要的需求的话,URL访问一次也不难实现:

1,请求的时候生成一个你指定内容的文件abc,内容的访问形式则可以是xxhandler.ashx?filename=abc

2,在handler里面的逻辑是,判断文件存在,如果存在则读取文件内容,写到response.write去,然后删除文件。临时文件不存在就没事了,直接返回。

自然这里的文件可以是其他形式的变量保存形式。

收获园豆:40
Ethan轻叹 | 园豆:996 (小虾三级) | 2012-10-18 10:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册