[英]How to convert List in c# to array in javascript and check the array item
我有模型中的列表和数据库中的项目。 我想把项目放在java脚本中的数组。 然后,当我在文本框中放置值并单击按钮时,系统会从数组中检查值是否在数组中
当我尝试这个代码时,它不起作用。 有什么想法或建议吗?
模型:
public List<string> listponumber { get; set; }
public void getlist()
{
var listpo = new List<string>();
SqlConnection connection = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["dbconnection"].ConnectionString);
connection.Open();
SqlCommand cmdponumber = new SqlCommand("Select DISTINCT ponumber From t_transaction ORDER BY ponumber", connection);
SqlDataReader rdr = cmdponumber.ExecuteReader();
while (rdr.Read())
{
listpo.Add(rdr.GetString(0).ToString());
}
connection.Close();
listponumber = new List<string>(listpo);
}
视图:
<script type="text/javascript">
$(document).ready(function () {
$("#btntest").click(function () {
var ponumber = [@Model.listponumber]
var txtvalues = document.getElementByID("textbox").value;
if (ponumber.indexOf(txtvalues) > -1 ) {
alert('Array');
} else {
alert('not array');
}
});
</script>
您可以使用将C#List转换为Javascript数组
<script>
var javascriptArray = @Html.Raw(Json.Encode(Model.ListToConvertToJavascript));
</script>
这将创建一个Json对象,其中包含模型中List内的数据,您将能够在纯Javascript中迭代它。
您可能会得到的语法错误是IDE告诉您使用的是Javascript解析器无法理解的语法,这是RAZR sentece @Html(...); 你可以忽略它。
使用以下方法测试:
for(int i = 0; i < $(javascriptArray).lenght; i++){
alert(javascriptArray[i]);
}
或打开浏览器开发人员的控制台并键入要创建的阵列的名称,以查看它是否由模型列表数据填充。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.