2014-01-30 79 views
0

我想獲得列表結果IENumerable類型ViewBag之前已經包含一個列表。如何在IENumerable類型viewbag MVC中返回json列表結果?

我在回國用viewbag列表動作 -

[HttpGet] 
public ActionResult RangerCard() { 
    var taglist = (from u in db.TagTables 
        where u.TagName.Contains(tag) 
        select u).ToList(); 

    ViewBag.TagName = taglist; 
    return View(); 

} 

Returing列表 -

@if (ViewBag.TagName != null) { 
     foreach (var item in ViewBag.TagName) { 
      <p class="tag-division"> 
       <a id="@item" class="tag-in-dropdown" href="#"># @item</a> 
      </p> 
     } 
    } 

它看起來喜歡 -

enter image description here

此操作將返回下拉菜單中的所有標籤。現在我想在用戶在此文本框中寫入時立即過濾此結果。

在標籤名RipEnglish的情況下 -

我根據使用這個文本過濾標籤AJAX查詢 -

#cardhascode輸入文本框的ID。

$('#cardhashcode').keyup(function() { 
     var tag = $('#cardhashcode').val(); 
     $.ajax({ 
      url: '/Upload/JsonTagList/?tag=' + tag, 
      type: 'Post', 
      success: function (data) { 

      } 
     }); 
    }); 

然後行動爲

[HttpPost] 
public ActionResult JsonTagList(string tag) { 
    var taglist = (from u in db.TagTables 
        where u.TagName.Contains(tag) 
        select u).ToList(); 
    return Json(taglist); 
} 

這上面的動作過濾器標籤,但我不能處理輸出結果。如何在此下拉菜單中顯示過濾結果作爲過濾結果。

注意 -

這個結果在列表類型的到來。因此,每個keyup事件可以有多個標籤可用。

感謝您的任何幫助。

+0

成功在您的下拉菜單的容器提出了新的標記和過去它 – Grundy

+0

你需要搞糟與jQuery在這裏,否則我建議返回局部視圖,包含過濾標籤,並粘貼HTML字符串容器 –

回答

0

你的意思是這樣的你的成功處理程序中:

if(data){ 
    data.forEach(function(item){ 
     $('#yourtagcontainer').append('<p class="tag-division"><a id="'+item+'" class="tag-in-dropdown" href="#"># '+item+'</a></p>'); 
    }); 
} 

乾杯。