2013-03-21 89 views
1

我試圖創建一個函數,該函數接受與枚舉中的項目對應的字符串。下面的語法工作正常,但我想能夠改變ChannelType.EndUser使用傳遞到函數的參數,而不是這是可能的嗎? 這裏是我的功能:枚舉。除jQuery參數

function closeEdit(channel){ 
      @{ 

        var channels = Enum.GetValues(typeof(ChannelType)) 
        .Cast<ChannelType>() 
        .Except(new ChannelType[] {ChannelType.EndUser}); 

        } 
        @foreach (ChannelType channeltype in channels) 
     { 
     @:var buttonname = "#Cancel_" + '@(channeltype.ToString())' + "_Update"; 
     @:if(buttonname != 'Cancel_EndUser_Update'){ 

     @:$(buttonname).click();} 
     } 
    } 

回答

0

你不會是能夠做到這一點在實際的C#代碼,你必須脫下Except,然後在您的foreach,確保ChannelType不傳入的項目。

事情是這樣的:

function closeEdit(channel){ 
    @{ 
     var channels = Enum.GetValues(typeof(ChannelType)) 
      .Cast<ChannelType>() 
     } 
     @foreach (ChannelType channeltype in channels) 
     { 
      @:var buttonname = "#Cancel_" + '@(channeltype.ToString())' + "_Update"; 
      @:if(buttonname != 'Cancel_EndUser_Update' && '@(channelType.ToString())' != channel){ 

      @:$(buttonname).click();} 
     } 
} 
+0

這是類似我以前有它的方式,我想也許有一種方式來混合使用LINQ查詢參數,但很可惜,似乎沒有要。感謝您的幫助:) – 2013-03-21 11:05:58

+0

@MichaelCampbell Nah不幸的是,沒有辦法做到這一點。如果這是正確的答案,請點擊它旁邊的勾號:)。歡迎來到SO! – mattytommo 2013-03-21 11:07:31