ここ数日、私は自動補完フィールドを使ってjqgridを動作させようとしていましたが、今はローカルデータで動作させることができます。コントローラのデータが解析されませんでした。JQGridとコントローラからのデータを解析する
ビューコード:
{ name: 'EanNummer', index: 'EanNummer', width: 65, sortable: true, editable: true, edittype: 'text', editoptions: {
dataInit:
function (elem) {
$(elem).autocomplete({ minLength: 0, source: '@Url.Action("GetBrands")' })
.data("autocomplete")._renderItem = function (ul, item) {
return $("<li></li>")
.data("item.autocomplete", item)
.append("<a>" + item.Id + ", " + item.Name + "</a>")
.appendTo(ul);
};
}
}
},
かの代わりのソース:私はソースを使用URL:[ "C++"、 "ジャワ"、 "PHP"、 "ColdFusionの"、 "ジャバスクリプト"、 "ASP"、 "サンプルコードのためのルビー "]正常に動作して現れるので、何かが私のコントローラ側のコードが間違っている必要があり
コントローラコード:あなたは、クライアントのSIDにitem.Id
とitem.Name
を使用する場合は
public JsonResult GetBrands()
{
string vendorId = "";
var username = "";
var name = System.Web.HttpContext.Current.User.Identity.Name;
var charArray = name.Split("\\".ToCharArray());
username = charArray.Last();
vendorId = service.GetVendorIdByUsername(username);
List<String> list = new List<String>();
var brands = service.getBrandsByVendor(vendorId);
var s= (from brand in brands
select new
{
Id = brand.BrandId,
Name = brand.BrandName
}).ToList();
return Json(s);
}
@Timsen:申し訳ありません、ToList()またはToArray()を使用して、最初に含めるのを忘れてください。 – Oleg
アクションは、フィールドに何かを書き込もうとするたびに呼び出されますが、私のリストはまだ表示されません – Timsen
コードを更新しました – Timsen