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

时间:2017-07-04 20:04:31

标签: javascript c# asp.net webforms

我在JS文件中创建了一些变量,并用Xhtml代码将其链接到我的webform,我的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不仅仅是出于示例目的的原始名称)

1 个答案:

答案 0 :(得分:2)

这些最简单的事情可能是添加一些HiddenField服务器控件并将您的值放在客户端,然后您可以在下一次回发时引用C#代码中的HiddenField控件。

例如,要执行valid_format值:

<asp:HiddenField runat="server" ID="hdnValidFormat" ClientIDMode="Static" />

然后使用jQuery设置成功回调中的值:

$('#hdnValidFormat').val(json.valid_format); 

然后你就可以像正常一样在你的C#代码中引用hdnValidFormat.Value。

然后对其他变量做同样的事情。

注意:

  • 确保为HiddenField控件启用了ViewState,否则值将不会在回发中保留。
  • 如果您不想/不希望在HiddenField控件上使用ClientIDMode="Static",则可以使用默认动态生成的ID,您只需使用服务器代码引用它们,例如:

    $('#<%=hdnValidFormat.ClientID%>').val(...);

  • 请注意,不要使用可能被操纵的值并破坏应用安全性的值。所有人都必须做的是编辑标记,他们可以在那里放置他们想要的任何值。

相关问题