如何将xxx.aspx页面上的js脚本调用xxx.aspx.cs中的方法

今天写js,做出了一个图片轮播图的效果,后来想把轮播图的图片能跟sql关联起来,只要新添加的图片就能自动在轮播图里显示,可是想了好久没做出来。因为不知道如何能把js里的代... 今天写js,做出了一个图片轮播图的效果,后来想把轮播图的图片能跟sql关联起来,只要新添加的图片就能自动在轮播图里显示,可是想了好久没做出来。因为不知道如何能把js里的代码跟xxx.aspx.cs里的方法关联。很纠结。页面中的关键代码大致如下:<div id="imgADPlayer"></div><script> PImgPlayer.addItem( "白色恋人", "#", "images/banner1.jpg"); PImgPlayer.addItem( "白色恋人", "#", "images/banner2.jpg"); PImgPlayer.addItem( "白色恋人", "#", "images/banner3.jpg"); PImgPlayer.addItem( "白色恋人", "#", "images/banner4.jpg"); PImgPlayer.addItem( "白色恋人", "#", "images/banner5.jpg"); PImgPlayer.addItem( "白色恋人", "#", "images/banner6.jpg"); PImgPlayer.addItem( "白色恋人", "#", "images/banner7.jpg"); PImgPlayer.addItem( "白色恋人", "#", "images/banner8.jpg"); PImgPlayer.addItem( "白色恋人", "#", "images/banner9.jpg"); PImgPlayer.init( "imgADPlayer", 977, 304 );</script><!--轮播图片--></div>后台的sql语句如下:select top(9) Pid,PName,PUrl,PImg from product order by Pid descxxx.aspx.cs中的方法如下:protected void Page_Load(object sender, EventArgs e)    {        if (!Page.IsPostBack)        {            InitAddItem();        }    }    private void InitAddItem()    {        List<Products> list = (List<Products>)ProductsDAL.GetProForBanner();        for (int i = 0; i < 9; i++)        {            indexForm.Attributes.Add("onload","javascript:addItem("+list[i].PName+","+list[i].PUrl+","+list[i].PImg+")");        }                }请问我该怎么做,是哪里写错了吗?还是我的思路不对呢?像高手请教 展开
 我来答
百度网友b7648df
2011-12-14
知道答主
回答量:20
采纳率:0%
帮助的人:25.7万
展开全部
可以直接在后台返回一个字符串,也可以便用一般处理程序。
//返回字符串方法
//方法很简单就是把JS代码和数据混合成字符串,然后向前台输出
//因方法需在前台调用所以定义成 public ,方法返回一个字符串,
public string InitAddItem()
{
System.Text.StringBuilder retstr = new System.Text.StringBuilder();
//List<Products> list = (List<Products>)ProductsDAL.GetProForBanner();
//假设调用方法返回一个dataset
DataSet ds = ProductsDAL.GetProForBanner();
int tmp = ds.Tables[0].Rows.Count;
for (int i = 0; i < tmp; i++)
{
// Pid,PName,PUrl,PImg ,将你所要的数据写入字符串
retstr.Append("PImgPlayer.addItem( \"" + ds.Tables[0].Rows[i]["PName"] + "\", \"#\", \"" + ds.Tables[0].Rows[i]["PImg"] + "\");");
}
retstr.Append(" PImgPlayer.init(\"imgADPlayer\", 977, 304);");//最后加上你的调用
return "<script>" + retstr.ToString() + " </script>";//返回整个脚本块

}
//返回字符串方法前台调用

<div id="imgADPlayer">
</div>
//直接调用InitAddItem方法。
<%=InitAddItem()%>

//脚本中是不能调用CS页面中的方法的,但是脚本却能调用一般处理程序(ASHX)页面中的方法
如果觉得上面返回字符串的方法不行可以用ASHX``楼主可以直接百度.net一般处理程序
如果还有不懂可加QQ229161146
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式