CommandArgument 传递参数

CommandArgument 传递参数刚开始的思路是按多个参数的方式传递,后来发现CommandArgument是一个object类型的属性,明显行不通。于是想能不能把多个参数当成一个参数传递,传过来之后再进行拆分?于是写了如下代码:object[]arguments=e.CommandArgument.ToString().Split(‘,’);intpID=Conver…

 刚开始的思路是按多个参数的方式传递,后来发现CommandArgument是一个object类型的属性,明显行不通。于是想能不能把多个参数当成一个参数传递,传过来之后再进行拆分?
   于是写了如下代码:
          object[] arguments = e.CommandArgument.ToString().Split(‘,’);
           int pID = Convert.ToInt32(arguments[0]);
           string pName = arguments[1].ToString();
           double pPrice = Convert.ToDouble(arguments[2]);

这样的话就要求参数以字符串的形式进行合并。我想让参数以“1,iAmTheName,19.99”的形式传递,于是就开始尝试参数的书写形式,最开始在页面端写的是:

CommandArgument='<%#eval_r(“ProductID”)%>,<%#eval_r(“ProductName”)%>,<%#eval_r(“ProductPrice”)%>’

编译错误,提示预处理器指令必须作为一行的第一个非空白字符出现,于是改为                  

 CommandArgument='<%#eval_r(“ProductID”),eval_r(“ProductName”),eval_r(“ProductPrice”)%>’

同样编译错误,但是这次提示“ToString”方法没有采用“4”个参数的重载。这个提示让我很感兴趣,ToString方法是什么意思?难道它是把参数先ToString一下在装成object?于是把参数改成:
CommandArgument='<%#eval_r(“ProductID”)+”,”+eval_r(“ProductName”)+”,”+eval_r(“ProductPrice”)%>’
嘿嘿,成功!
由此可以推断出它的执行过程:先绑定到eval_r(“”)字段,然后把<%# %>里的东西ToString一下,再封装成object进行传递。
由此,CommandArgument属性也可以传递多个参数的。

转载于:https://www.cnblogs.com/kainjie/p/3580568.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/13378.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注