我在我的JS文件中创建了一些变量,并将其链接到我的Xhtml代码中的Web表单,我的JS代码如下:
var access_key = 'my key';
var email_address;
var valid_format,smtp_check,disposable,mxfound,Urole;
// verify email address via AJAX call
function verify()
{
$.ajax({
url: 'domain/api/check?access_key=' + access_key + '&email=' +
email_address,
dataType: 'jsonp',
success: function validate(json) {
valid_format = json.valid_format ;
smtp_check = json.smtp_check ;
disposable = json.disposable;
mxfound = json.mxfound ;
Urole = json.role ;
}
});
}
我需要使用 Signup.aspx.cp 文件中 js 部分的变量 (valid_format,smtp_check,disposable,mxfound,Urole)。
注意:我已将 myJs.js 链接到 Signup.aspx 文件。(myJs 不是原始名称,仅用于示例目的)
最佳答案
最简单的事情可能是添加一些 HiddenField 服务器控件并将您的值放入客户端,然后您可以在下次回发时在 C# 代码中引用 HiddenField 控件。
例如执行 valid_format 值:
<asp:HiddenField runat="server" ID="hdnValidFormat" ClientIDMode="Static" />
然后使用 jQuery 在成功回调中设置值:
$('#hdnValidFormat').val(json.valid_format);
然后您可以像平常一样在 C# 代码中引用 hdnValidFormat.Value。
然后对其他变量执行相同的操作。
注释:
- 确保您为 HiddenField 控件启用了 ViewState,否则这些值将不会在回发过程中持续存在。
如果您不能/不想使用
ClientIDMode="Static"
在您的 HiddenField 控件上,您可以使用默认动态生成的 ID,您只需使用服务器代码引用它们,例如:$('#<%=hdnValidFormat.ClientID%>').val(...);
请注意,不要使用可能被操纵并危及应用安全性的值来执行此操作。人们所要做的就是编辑标记,他们可以在其中放置他们想要的任何值。
关于javascript - 在C# Webform(ASP.net)中使用js变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44913363/