我有几个用JS编写的函数在我的网站上进行错误检查。在一个实例中,如果DB中的某个实例为true,我想禁用其中两个检查。
我在aspx.cs上有这样的东西
if (this.exemptcheck == true) {
// could set a variable to pass or whatever is optimal here
}
然后在JS中,我的.aspx
中有这样的函数if (NotANumberCheck(item.GetMember("TotalSpace").Value, 'Space must be Numeric') == false) { return false; }
如果this.examptcheck返回true,我不希望运行此检查。这样做的最佳方法是什么?我听说过将变量放在不可见的字段中,但这似乎并不理想。任何建议将不胜感激。
由于
答案 0 :(得分:2)
在aspx中,设置一个名为ExemptCheck的成员变量。稍后,在JS中,执行以下操作:
var exemptCheck = <% Response.Write(ExemptCheck.ToString()) %>;
这将为您提供一个与C#变量具有相同值的JS变量。
答案 1 :(得分:0)
您可以在页面中编写一个脚本部分,将变量设置为true / false,然后在JS中检查该变量。
答案 2 :(得分:0)
只有当this.examptcheck为true时,您才可以使用Response.Write()javascript代码。
答案 3 :(得分:0)
只有在条件为真时才注册你的js函数,你不需要检查变量:
C#代码:
if (this.exemptcheck == true) {
Page.ClientScript.RegisterStartupScript(Page.GetType(), "KEY", "/* code of your JS function that handle the true case */", true);
}
答案 4 :(得分:0)
我最终使用以下命令设置aspx.cs代码中的值
Page.ClientScript.RegisterStartupScript(this.GetType(),“”,“var stackedUnknownExemptCheck = true;”,true);