在ASP.NET网格视图中使用C#三元运算符

时间:2014-01-03 17:31:48

标签: c# javascript asp.net gridview datagridview

如何在ASP.NET网格视图中基于C#三元运算符插入两个不同的JavaScript函数? 我在div标记中使用此代码:

onclick='<%#(Eval("file").ToString()=="0" ? "#" : "javascript:openPopup('Staff Report file.aspx?Id=("Id")')")%>'

2 个答案:

答案 0 :(得分:1)

尽管我支持@Servy的建议,但我认为你要做的事情是正确的。

您遇到的问题很可能与字符串分隔符的使用有关。

试试这个:

onclick='<%#(Eval("file").ToString()=="0" ? "#" : "javascript:openPopup(\'Staff Report file.aspx?Id=(\"Id\")\')")%>'

请注意,请注意,您通常不会在网址的查询字符串中使用字符串分隔符,因此,除非您对("Id")周围的引号有特定需要,否则您不要像使用它们那样使用它们。在这里:"javascript:openPopup(\'Staff Report file.aspx?Id=Id)\')"

此外,如果您希望查询字符串中的Id键的值为字符串"Id",字符串Id("Id"),则不是很清楚是在代码的另一部分中定义/分配的另一个本地或全局变量,表示真实的Id。

答案 1 :(得分:1)

谢谢你有价值的rply ..

onclick='<%#(Eval("file").ToString()=="0" ? "#" : "javascript:openPopup(\'Staff Report file.aspx?Id=(\"Id\")\')")%>'

这里是在脚本中传递查询字符串,如

onclick='<%#(Eval("file").ToString()=="0" ? "#" : "javascript:openPopup(\'StaffReportfile.aspx?Id=(<%# Eval("Id") %>')")%>'

我的js

function openPopup(strOpen) {
  open(strOpen, "StaffReportfile", 
           "status=1, width=550, height=600, top=100, left=300");
}

单个参数中可能有两个Server标签......否则我们怎么称它为.. 解决我的问题