JavaScript eval定义动态变量名及赋值教程
CSDN展示内容补全,可点击查看全代码
/*简单代码,看懂eval动态变量定义的创建和使用*/
<html>
<head>
<script type="text/javascript">
eval("var input_id1;");
input_id1 = 100;
alert(input_id1);
</script>
</head>
</html>/*ASP.NET eval更强大的使用案例*/
/// <summary>
/// 后台定义动态变量名
/// </summary>
public void BindAutoComplete(string AjaxCompleteID, string AjaxCompleteText, string Placeholder, string ColArray, string TableName, string SelectorString, string SortExpression, string FilterString, string FilterColumnString, int TopCount, string Width)
{
ViewState["ucAjaxComplete_ColArray_" + this.AjaxComplete.ClientID] = ColArray;
ViewState["ucAjaxComplete_TableName_" + this.AjaxComplete.ClientID] = Utility.Web.Security.DESEncrypt(TableName);
ViewState["ucAjaxComplete_SelectorString_" + this.AjaxComplete.ClientID] = Utility.Web.Security.DESEncrypt(SelectorString);
ViewState["ucAjaxComplete_SortExpression_" + this.AjaxComplete.ClientID] = Utility.Web.Security.DESEncrypt(SortExpression);
ViewState["ucAjaxComplete_FilterString_" + this.AjaxComplete.ClientID] = Utility.Web.Security.DESEncrypt(FilterString);
ViewState["ucAjaxComplete_FilterColumnString_" + this.AjaxComplete.ClientID] = Utility.Web.Security.DESEncrypt(FilterColumnString);
ViewState["ucAjaxComplete_TopCount_" + this.AjaxComplete.ClientID] = TopCount;
ViewState["ucAjaxComplete_Width_" + this.AjaxComplete.ClientID] = Width;
ViewState["ucAjaxComplete_AjaxCompleteText_" + this.AjaxComplete.ClientID] = AjaxCompleteText;
ViewState["ucAjaxComplete_Placeholder_" + this.AjaxComplete.ClientID] = Placeholder;
ViewState["ucAjaxComplete_AjaxCompleteID_" + this.AjaxComplete.ClientID] = "ajaxComplete" + AjaxCompleteID;
ViewState["ucAjaxComplete_CallBackFunctionName_" + this.AjaxComplete.ClientID] = "ajaxComplete" + AjaxCompleteID + "CallBack";
ViewState["ucAjaxComplete_KeyTabCallBackFunctionName_" + this.AjaxComplete.ClientID] = "ajaxComplete" + AjaxCompleteID + "KeyTabCallBack";
}
/// <summary>
/// JavaScript读取后台变量并写入到eval模块中
/// JavaScript 小知识点:JavaScript换行拼接使用反斜杠
/// </summary>
<script type="text/javascript">
eval("var <%=ViewState["ucAjaxComplete_AjaxCompleteID_" + this.AjaxComplete.ClientID]%>;");
$(document).ready(function () {
var strAjaxComplete = ("
var col = [], coltext = "<%=ViewState["ucAjaxComplete_ColArray_" + this.AjaxComplete.ClientID]%>", colsplit;
colsplit = coltext.split(",");
for (var i = 0; i < colsplit.length; i++) {
col.push(colsplit[i]);
}
<%=ViewState["ucAjaxComplete_AjaxCompleteID_" + this.AjaxComplete.ClientID]%> = $("#<%=this.AjaxComplete.ClientID%>").tautocomplete({
width: "<%=ViewState["ucAjaxComplete_Width_" + this.AjaxComplete.ClientID]%>",
placeholder: "<%=ViewState["ucAjaxComplete_Placeholder_" + this.AjaxComplete.ClientID]%>",
cleanspelchar: true,
barcode:false,
columns: col,
data: function () {
var filterData = [];
$.ajax({
url: "/WebServices/AutoComplete.asmx/GetAjaxCompleteData",
type: "POST",
dataType: "json",
async: false,
data: { Col_1: "<%=ViewState["ucAjaxComplete_TableName_" + this.AjaxComplete.ClientID]%>", Col_2: "<%=ViewState["ucAjaxComplete_SelectorString_" + this.AjaxComplete.ClientID]%>", Col_3: "<%=ViewState["ucAjaxComplete_SortExpression_" + this.AjaxComplete.ClientID]%>", Col_4: "<%=ViewState["ucAjaxComplete_FilterString_" + this.AjaxComplete.ClientID]%>", Col_5: "<%=ViewState["ucAjaxComplete_FilterColumnString_" + this.AjaxComplete.ClientID]%>", Col_6: <%=ViewState["ucAjaxComplete_AjaxCompleteID_" + this.AjaxComplete.ClientID]%>.searchdata(), Col_7: <%=ViewState["ucAjaxComplete_TopCount_" + this.AjaxComplete.ClientID]%> },
success: function (data) {
for (var i = 0; i < data.length; i++) {
filterData.push(data[i]);
}
}
});
return filterData;
},
onchange: function () {
<%=ViewState["ucAjaxComplete_CallBackFunctionName_" + this.AjaxComplete.ClientID]%>(<%=ViewState["ucAjaxComplete_AjaxCompleteID_" + this.AjaxComplete.ClientID]%>);
},
onkeytab: function () {
<%=ViewState["ucAjaxComplete_KeyTabCallBackFunctionName_" + this.AjaxComplete.ClientID]%>(<%=ViewState["ucAjaxComplete_AjaxCompleteID_" + this.AjaxComplete.ClientID]%>);
}
});
<%=ViewState["ucAjaxComplete_AjaxCompleteID_" + this.AjaxComplete.ClientID]%>.setdata("<%=ViewState["ucAjaxComplete_AjaxCompleteText_" + this.AjaxComplete.ClientID] %>");
");
eval(strAjaxComplete);
});
</script>/// <summary>
/// JavaScript编译后代码
/// </summary>
<script type="text/javascript">
eval("var ajaxComplete;");
$(document).ready(function () {
var strAjaxComplete = ("
var col = [], coltext = "[物资名称],[规格],[条码]", colsplit;
colsplit = coltext.split(",");
for (var i = 0; i < colsplit.length; i++) {
col.push(colsplit[i]);
}
ajaxComplete = $("#ctl00_cph_ucInDepotEdit_ucAjaxAutocompleteTable_AjaxComplete").tautocomplete({
width: "300px",
placeholder: "请输入物资名称、规格或条码查询",
cleanspelchar: true,
barcode:false,
columns: col,
data: function () {
var filterData = [];
$.ajax({
url: "/WebServices/AutoComplete.asmx/GetAjaxCompleteData",
type: "POST",
dataType: "json",
async: false,
data: { Col_1: "6E3A20C557A03736AF68C38C991B2454C14D3B264E98D297", Col_2: "0B982EC405AA874DB04ED8057719223FF996393B13F1259C24A56B8E40233DF659E78160C6B35AC2991409C9B01FDABD", Col_3: "0B982EC405AA874D9BE69B1002DF9D65", Col_4: "B71AE2D1C2C554260035E8E015084A8427209F3167FAE41232C3319177633C05", Col_5: "6853E3874A3A6B264C1DC36088095A25", Col_6: ajaxComplete.searchdata(), Col_7: 10 },
success: function (data) {
for (var i = 0; i < data.length; i++) {
filterData.push(data[i]);
}
}
});
return filterData;
},
onchange: function () {
ajaxCompleteCallBack(ajaxComplete);
},
onkeytab: function () {
ajaxCompleteKeyTabCallBack(ajaxComplete);
}
});
ajaxComplete.setdata("");
");
eval(strAjaxComplete);
});
</script>
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇:没有了
- 下一篇: ASP.NET Cookie的存储与读取
