javascript - 在C# Webform(ASP.net)中使用js变量

标签 javascript c# asp.net webforms

我在我的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/

相关文章:

javascript - 如何确定 JavaScript 回调函数的执行上下文?

javascript - Safari 扩展上下文菜单图标和分隔符

javascript - Mongoose : Dynamically load different schema under one collection

c# - Windows 窗体中 Treeview 中的 Aftercheck 和 AfterSelect 事件

c# - 从数据表中选择列并将其再次转换为数据表

javascript - jquery能否遍历整个DOM并找到href中的Update一词

javascript - 将无状态转换为类组件react js

c# - 在SoundBoard应用程序中播放CustomSounds

asp.net - 为什么 IIS 不提供 aspx 页面?

c# - 如何以编程方式测试 cookie?