调用java脚本将值返回到asp.net中的代码页

时间:2014-12-10 13:07:13

标签: javascript asp.net

我想将我的java脚本函数返回值调用到我的代码中 我有这样的功能..(这是我在我的java脚本中写的)

function GetSex()
{

    var sex = EIDAWebComponent.GetSex();
    if(sex == 'M')
        return "Male";
    if(sex == 'F')
        return "Female";
    if(sex == 'X')
        return "Unknown";
}

我的代码:

<td>
    <span>Sex:&nbsp;</span>
</td>
<td>
    <span id="Sex_PDLabel" runat=server></span>
</td>

我如何在我的代码中调用此返回值? 我想获得任何变量的相应值。所以尝试编写类似这样的代码:

 ScriptManager.RegisterStartupScript(DirectCast(HttpContext.Current.Handler, Page), GetType(Page), "GetSEx", "GetSex()", True)
 Dim SexVAl = Sex_PDLabel.InnerText

但我的sexVal总是变空的字符串。我不知道为什么?我的代码有什么问题?

任何帮助都非常适合..

2 个答案:

答案 0 :(得分:0)

使用此功能。

的aspx: 创建一个隐藏字段来存储值。

<input type="hidden" id="txtHidden" runat="server" />

javascript代码:

function GetSex()
{
    var sex = EIDAWebComponent.GetSex();
     alert(sex);
    if(sex == 'M')
        document.getElementById("txtHidden").value=  "Male";
    else if(sex == 'F')
        document.getElementById("txtHidden").value =  "Female";
    else if(sex == 'X')
        document.getElementById("txtHidden").value =  "Unknown";
    else
        document.getElementById("txtHidden").value =  "none";
}

从ASP.NET代码调用:

ScriptManager.RegisterStartupScript((Page)(HttpContext.Current.Handler), 
                  typeof(Page), "GetSex", "GetSex();", true);

String value = txtHidden.Value;

答案 1 :(得分:0)

其中一种方法是将值存储在hidden field

将以下内容添加到ASP.NET标记中:

<asp:HiddenField id="hdnField" runat="server" />

并致电:

document.getElementById('<%= hdnField.ClientID %>').value = GetSex();

在代码隐藏中,该值可以通过以下方式访问:

var val = hdnField.Value;