我想创建一个带有预定义可能值的文本框,但我最终得到了一个错误:
未捕获的TypeError:无法读取属性' toLowerCase'未定义的
我尝试使用令牌输入脚本(http://loopj.com/jquery-tokeninput/)但我无法从数据库中读取数据。我正在使用.NET MVC。
这是我的方法(在模型中)来读取数据:
public List<CRMClientsModel> CRMClientsModel() {
var sqlConnect = DbConnectHelper.GetDbInstance<SqlConnection>();
var query = string.Format("SELECT CompanyName,Id from Company");
return sqlConnect.Query<CRMClientsModel>(query).ToList();
}
这里是负责将数据转换为JSON格式的控制器部分
CRMLogic Logic = new CRMLogic();
CRMModel Model = new CRMModel();
List<CRMClientsModel> Clients = Logic.CRMClientsModel().ToList();
List<CRMClientViewModel> ClientsVM = Clients.Select(a => a.ToViewModel<CRMClientViewModel>()).ToList();
Model.CRMClientsModel = Clients;
CRMViewModel ViewModel = new CRMViewModel();
ViewModel.CRMClientsModel = ClientsVM;
JavaScriptSerializer jsonSerialiser = new JavaScriptSerializer();
string json = jsonSerialiser.Serialize(ClientsVM);
ViewModel.jsonproject = json;
然后在View中调用
<script type="text/javascript">
$(window).ready(function () {
@*var item = @Html.Raw(Model.jsonproject)
alert(item)*@
$("#inputproject").tokenInput(@Html.Raw(Model.jsonproject),
{
theme: "facebook", minChars: 0
});
});
</script>
答案 0 :(得分:0)
知道了。事实证明,错误是由于缺少&#34; propertyToSearch&#34;。类似的问题如下: jQuery-tokeninput failing: "term" is undefined?