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

在ASP.NET网格视图中使用C#三元运算符,c#,javascript,asp.net,gridview,datagridview,C#,Javascript,Asp.net,Gridview,Datagridview,如何在ASP.NET网格视图中插入基于C#三元运算符的两个不同JavaScript函数? 我正在div标签中使用此代码: onclick='<%#(Eval("file").ToString()=="0" ? "#" : "javascript:openPopup('Staff Report file.aspx?Id=("Id")')")%>' onclick='' 尽管我支持@Servy的建议,但以我的拙见,你所做的是正确的 您面临的问题很可能与字符串分隔符的使用有关 试试这个:

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

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

尽管我支持@Servy的建议,但以我的拙见,你所做的是正确的

您面临的问题很可能与字符串分隔符的使用有关

试试这个:

onclick='<%#(Eval("file").ToString()=="0" ? "#" : "javascript:openPopup(\'Staff Report file.aspx?Id=(\"Id\")\')")%>'
onclick=''
此外,请注意,您通常不会在url的查询字符串中使用字符串分隔符,因此除非您对
(“Id”)
周围的引号有特殊需要,否则不要像这里那样使用它们:
“javascript:openPopup(\'Staff Report file.aspx?Id=Id)\'”


此外,还不清楚您是否希望查询字符串中的
Id
键的值是字符串
“Id”
,字符串
Id
,或者
(“Id”)
是否是在代码的另一部分中定义/分配的另一个局部或全局变量,表示真实的Id。

感谢您宝贵的rply

onclick='<%#(Eval("file").ToString()=="0" ? "#" : "javascript:openPopup(\'Staff Report file.aspx?Id=(\"Id\")\')")%>'
它可能在单个参数中包含两个服务器标记。。。否则我们怎么能称之为。。
请复制并粘贴您的代码示例,而不是在此处重新键入!否则,你很可能会引入打字错误,这将使你的问题更难解决。例如,您是否有单击
(错误)或单击
onclick
(正确)和
java脚本
(错误)或
javascript
(正确)我强烈建议您在绑定数据之前,将数据处理为应显示在UI上的代码,因此,数据绑定只需将数据粘贴到UI中,而无需对其进行操作。虽然有一些工具可供您使用,但在“真实”代码中要比在数据绑定时容易得多。那么您的问题是什么?你有什么错误吗?
onclick='<%#(Eval("file").ToString()=="0" ? "#" : "javascript:openPopup(\'StaffReportfile.aspx?Id=(<%# Eval("Id") %>')")%>'
function openPopup(strOpen) {
  open(strOpen, "StaffReportfile", 
           "status=1, width=550, height=600, top=100, left=300");
}