有条件地设置aspx控件的javascript属性?

时间:2012-06-12 14:49:32

标签: javascript asp.net if-statement conditional

我正在项目中使用DevExpress树形图控件。其中一列允许点击时调用javascript函数的图标。当我们的一个单选按钮索引时,我们现在需要不调用其中一个函数!= 0;

在ClientSideEvents类中,我将CustomButtonClick属性设置为运行的javascript,具体取决于列中单击的按钮。相关代码:

<ClientSideEvents 
                    CustomButtonClick="function(s, e) 
                                       {                                 
                                            switch(e.buttonID)
                                            {
                                                case 'scMarkRead':
                                                    treeWatches.PerformCallback(e.buttonID + '|' + e.nodeKey);
                                                    break;
                                                case 'scMarkUnread':
                                                    treeWatches.PerformCallback(e.buttonID + '|' + e.nodeKey);
                                                    break;
                                                case 'scStrike':                                                        
                                                    treeWatches.GetNodeValues(e.nodeKey, &quot;Database&quot;, addDB);                                                                                            
                                                    treeWatches.PerformCallback('scMarkRead|' + e.nodeKey);                                                    
                                                    break;
                                                case 'scCreateTask':
                                                    var fields = [&quot;Database&quot;, &quot;Filename&quot;, &quot;Name&quot;];
                                                    treeWatches.GetNodeValues(e.nodeKey, fields, createTask);
                                                    break;
                                                case 'scDelete':
                                                    treeWatches.PerformCallback(e.buttonID + '|' + e.nodeKey);
                                            }   

在'scStrike'的情况下,我不想调用treeWatches.PerformCallback .... line如果radlstGroup.SelectedIndex!= 0.在其他地方,我能够将代码包装在条件&lt;%if else { }%&gt;它工作正常,但这是我不想显示的控件。当我尝试下面的例子时,页面加载但我的树形图不会扩展。

    <ClientSideEvents 
                        CustomButtonClick="function(s, e) 
                                           {           
                                                var url = 'http://gcs.regscan.com/strike/Strike.aspx?db=';      

                                                switch(e.buttonID)
                                                {
                                                    case 'scMarkRead':
                                                        treeWatches.PerformCallback(e.buttonID + '|' + e.nodeKey);
                                                        break;
                                                    case 'scMarkUnread':
                                                        treeWatches.PerformCallback(e.buttonID + '|' + e.nodeKey);
                                                        break;
                                                    case 'scStrike':                                                        
                                                        treeWatches.GetNodeValues(e.nodeKey, &quot;Database&quot;, addDB);                                                                                            
<% if (radlstGroup.SelectedIndex == 0)
{%>                                                       
treeWatches.PerformCallback('scMarkRead|' + e.nodeKey); 
<%} %>                                                   
                                                        break;
                                                    case 'scCreateTask':
                                                        var fields = [&quot;Database&quot;, &quot;Filename&quot;, &quot;Name&quot;];
                                                        treeWatches.GetNodeValues(e.nodeKey, fields, createTask);
                                                        break;
                                                    case 'scDelete':
                                                        treeWatches.PerformCallback(e.buttonID + '|' + e.nodeKey);
                                                }     

最糟糕的情况我确定我可以将if块放在控件的整个div周围,并将相同的代码放在else中没有行,但是再次重复100行代码似乎很愚蠢一条线。有什么好的建议吗?

0 个答案:

没有答案