如何生成js文件,实现新闻的调用

有你_才有梦想 2009-12-28 02:53:43
各位大哥,我现在要做一个类似于帝国的新闻发布系统,要实现动态创建JS,在需要显示新闻的页面只要调用那段JS引用就可以了,这个该怎么做啊,我一点思路都没有,请大家帮帮忙。(我只有52分了,请大家原谅)
...全文
657 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanzhiyong 2009-12-30
  • 打赏
  • 举报
回复
恩。好的。。写的时候忘记写引号了。。。
  • 打赏
  • 举报
回复
终于可以了,谢谢大家的热心回复
我在ABC.ASPX页面里是这样做的
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="abc.aspx.cs" Inherits="abc" %>

var list;

list='<%=Getlist(5) %>';

document.write(list);
加了单引号就可以了

祝大家元旦快乐
  • 打赏
  • 举报
回复
你好,我是这样做的,建了2个页面,一个是default.aspx,另一个是abc.aspx
abc.aspx是按照你的代码,把HTML端清空,只留你写出来的代码,CS端也是按照你的写法的
default.aspx的HTML端加入<script language="javascript" src="abc.aspx?id=2"> </script>

但是在浏览default.aspx页面的时候还是报脚本错误,不知道是我哪里做错了
还要麻烦你,不好意思了
游北亮 2009-12-30
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 john_huang 的回复:]
我把abc.aspx页面下除了第一行代码外的所有HTML都清空了
这行代码还是报错 <script language="javascript" src="abc.aspx?classid=2"> </script>
如果是链接的JS文件则不报错

[/Quote]

报错的原因,估计是你的2个文件编码不一致
比如abc.aspx编码是utf-8,而引用文件是gb2312,改成一致的编码试试。


另外,这个abc.aspx不能用gridview,因为它生成的是html,不是js
你可以用Repeater代替

至于哪些控件可以用,哪些控件不能用,你可以自己测试,比如放入控件后,直接访问abc.aspx页面,看看生成的html是否js格式,不是,就不行。
yanzhiyong 2009-12-29
  • 打赏
  • 举报
回复
代码 我是经过调试的,应该不会有错的。不是要你浏览这个页面。

而是在abc.aspx外的另外一个页面中插入这行代码 。。。

思路就是这样的了,具体的就是JS的输出问题了。

<script language="javascript" src="abc.aspx?classid=2"> </script>

chen8410 2009-12-29
  • 打赏
  • 举报
回复
其实就是通过.cs文件里面用C#生成文件,至于这个文件名和文件内容都可以定的,网上很多你可以找找看
AngleBabyHong 2009-12-29
  • 打赏
  • 举报
回复
up xml吧
qwertxp 2009-12-29
  • 打赏
  • 举报
回复
LZ要的应该是10楼说的意思。
如果新闻是放在数据库中的,不可能不读取数据库。
vip__888 2009-12-29
  • 打赏
  • 举报
回复
应该是后台拼接输出的吧
游北亮 2009-12-29
  • 打赏
  • 举报
回复
可以这样:
<script type="text/javascript" src="abc.aspx"></script>

只要你的这个abc.aspx输出的是js内容就可以了
然后你在这个abc.aspx里读取数据库,并生成document.write输出新闻的语句
cfesc9 2009-12-29
  • 打赏
  • 举报
回复
看不明白,关注一下
  • 打赏
  • 举报
回复
我把abc.aspx页面下除了第一行代码外的所有HTML都清空了
这行代码还是报错<script language="javascript" src="abc.aspx?classid=2"> </script>
如果是链接的JS文件则不报错
  • 打赏
  • 举报
回复
我还想再问一下,在这个页面能放GRIDVIEW控件吗
  • 打赏
  • 举报
回复
谢谢大家的热心回复。祝大家元旦快乐。

回复:yanzhiyong
你好,谢谢你的好思路,我用了你的代码,在我这里出现了一些小问题,不知道如何解决;
页面可以浏览,但是浏览的结果是这样的:
var list; list=
第一条新闻
第一条新闻
第一条新闻
第一条新闻
第一条新闻
; document.write(list);


_0筱筱0_ 2009-12-29
  • 打赏
  • 举报
回复
你需要建立一个类 专门去写所有的拼凑方法...只需要调用的时候传递参数就可以了 别的就是调用的时候输出这些字符串到页面 页面只需要使用占位符就可以输出后台传递过来的字符串
happy664618843 2009-12-29
  • 打赏
  • 举报
回复
在后台用拼接js字符串 再用ClientScript.RegisterScript.
yanzhiyong 2009-12-29
  • 打赏
  • 举报
回复
    几个要点:1:JS文件里面全是JS代码。如果要输出HTML代码,用document.write输出。。

2.怎么样得到新闻的HTML代码(通过后台方法,调用数据库。)

3.定义一个公有方法,返回新闻列表的HTML代码。

4.在前台页面去掉其它的HTML代码,调用这个方法,然后把得到的字符串用JS的方法输出。

5.其它页面就调用这个JS就可以了,JS src中的参数是可以传达到后台的。。



楼主送分吧。哈哈。。50分有点少。。一人分一点喽。。。祝元旦快乐!!
yanzhiyong 2009-12-29
  • 打赏
  • 举报
回复
<script language="javascript" src="abc.aspx?classid=2"></script>

你后台的这个ASPX页面要全部清空,不得有任何的其它HTML代码,否则就会出现错误。。

假设调用代码为上代码,即调用第二类的新闻,当然参数可以多点,如加入条数等信息。。

然后你要在ABC.aspx如下页面把页面中的HTML清空。。只留下。。

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>

var list;

list=<%=Getlist(5) %>;

document.write(list);




然后在其后台代码里面写入如下代码:

protected void Page_Load(object sender, EventArgs e)
{
int id = int.Parse(Request.QueryString["id"]);
if (!Page.IsPostBack)
{
Getlist(id);
}


}

public string Getlist(int id)
{
string content = string.Empty;

content += "<ul>";
for (int i = 0; i < id; i++)
{
content += "<li>";
content += "第一条新闻";
content += "</li>";
}
content += "</ul>";

return content;

}





这里我没有操作数据库了,其实大致是如此,只不过把循环部分换成是根据传来的参数读取数据罢了。相信你应该是很容易看懂的。。。


恩。就是这样了。有什么问题及时回复。。









  • 打赏
  • 举报
回复
回复:10楼的朋友

我用了你的思路来实现,但是代码
<script type="text/javascript" src="abc.aspx"> </script> 报脚本错误
如果换成是JS文件的话就没有错误,上面的这个语句还有其他的写法吗
  • 打赏
  • 举报
回复
up
加载更多回复(7)

62,041

社区成员

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

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

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

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