wangchao6656 发表于 2010-1-8 15:09:22

谁来帮帮我~关联Ord =All 时的问题

web_reg_save_param("Analytic_TaskID",
                "LB=<a href='#' onclick=\"OpenDoTaskWindow('",
                "RB='",
                "Search=Body",
                "Ord=All",
                "IgnoreRedirections=Yes",
                LAST);
        ...
        ...
int i=0;
int j=0;
i=atoi(lr_eval_string("{Analytic_TaskID_count}"));
for(j=1;j<=i;j++)
{
        sprintf(temp,"{Analytic_TaskID_%d}",j);

        lr_output_message("Analytic_TaskID_%d is %s:%s",j,lr_eval_string(temp),temp);
        ...
        ...
        web_submit_data(
        ...
        "Name=taskID", "Value=temp", ENDITEM,
        ''');
}
日志信息
the count of Analytic_TaskID is 2
Action.c(141): Analytic_TaskID_1 is 20100108095833CP20100108094738:{Analytic_TaskID_1}
web_submit_data失败...
当我把sprintf(temp,"{Analytic_TaskID_%d}",j);
改成sprintf(temp,"Value={Analytic_TaskID_%d}",j);
后面web_submint_date里改为"Name=taskID", temp, ENDITEM,就能够通过。我现在想用{Analytic_TaskID_%d}
这个动态值在别的地方,所以我不想用第二种方法。。。
我也用了 lr_save_string(temp,"temp1");将其保存在参数里,再在web_submit_data里面用,但是还是不行,
请各位大侠教教我该怎么办啊?

snnylip 发表于 2010-1-8 15:58:55

那如果改web_submit_data(
      ...
      "Name=taskID", "Value=lr_eval_string{temp}", ENDITEM,
      ''');

[ 本帖最后由 snnylip 于 2010-1-8 16:10 编辑 ]

wangchao6656 发表于 2010-1-8 16:08:41

回复 2# 的帖子

我试过了,也不行,都会报错~

dennyqiang 发表于 2010-1-8 17:02:16

"Name=taskID", "Value=temp" 这句话当然不行了,这样的话temp就是一个字符串而已

使用sprintf(temp,"{Analytic_TaskID_%d}",j); 拼出来也不行,这样temp还是一个字符串

使用lr_save_string(temp,"temp1");还是不行,因为temp还是一个字符串

应该怎么写呢:
lr_save_string(lr_eval_string(temp), "paramTemp")
这样在web_submit_data中就可以使用
"Name=taskID", "Value={paramTemp}", ENDITEM
来取得其值了。

其实当Ord=All时可以使用参数数组(9.X版本提供的功能),三个主要函数是:
lr_paramarr_len
lr_paramarr_idx
lr_paramarr_random

云层 发表于 2010-1-8 17:25:29

哈哈,强哥抢了我的话了

wangchao6656 发表于 2010-1-8 17:25:41

回复 4# 的帖子

搞定了~多谢强子这么详细的解答~:handshake

wangchao6656 发表于 2010-1-8 17:27:07

不能总是让云老师回答问题啊,51里真是深不可测啊~
页: [1]
查看完整版本: 谁来帮帮我~关联Ord =All 时的问题