从后面的代码调用.js文件函数

时间:2015-01-24 17:05:47

标签: javascript c# jquery asp.net

我一直试图从代码后面调用.js文件函数,但函数没有被调用。

我有以下html按钮,需要从后面的代码中看到。

   <input id="btnShowMap" type="button" value="Results On Map" onclick = "ShowMap();" style="visibility: hidden;"/>

到目前为止,我尝试了以下三种方法,但没有一种方法可以正常工作。

 -ClientScript.RegisterStartupScript(Me.GetType(), "VoteJsFunc", "test();")

 -Page.ClientScript.RegisterStartupScript(Me.[GetType](), "VoteJsFunc", "alert('Sorry.You are not legible to vote')", True)

 -ClientScript.RegisterStartupScript(Me.GetType(), "VoteJsFunc", "test();")

这是.js文件功能

function test() {
var hdLat = $('input[id$=hdVendorLat]').val();
    var hdLng = $('input[id$=hdVendorLng]').val();
    if (hdLat != 0 && hdLng != 0) {
        $('#btnShowMap').show();
    }
    else {
        $('#btnShowMap').hide();
    }
 }

这是pahe html

 <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
 </asp:Content>

 <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<asp:UpdatePanel ID="updSearch" UpdateMode="Conditional" runat="server">
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="btnSearch" />
    </Triggers>
    <ContentTemplate>
        <asp:HiddenField ID="hdVendorLat" runat="server" Value="0" />
        <asp:HiddenField ID="hdVendorLng" runat="server" Value="0" />
        <asp:HiddenField ID="hdVenID" runat="server" Value="" />
  <asp:Panel ID="pnlExport" runat="server" Enabled="true">      
  <asp:Button ID="btnSearch" runat="server" Text="Search" Width="90px" />                          
  <input id="btnShowMap" type="button" value="Results On Map" onclick   = "ShowMap();" style="visibility: hidden;"  />
</asp:Panel>

<script type="text/javascript" src="/scripts/inspector-search.js"></script>
    </ContentTemplate>
</asp:UpdatePanel>
</asp:Content>

3 个答案:

答案 0 :(得分:1)

尝试注册脚本,如下所示:

Page.ClientScript.RegisterStartupScript(GetType(), "VoteJsFunc", "test()", True)

我在当地检查过,工作正常。

答案 1 :(得分:0)

jQuery方法show适用于display css属性。这相当于致电.css( "display", "block")

由于您使用的是visibility属性,因此方法show对此更改无效,因此它仍然隐藏。我看到2个选项来解决这个问题:

  • 使用.css( "visibility", "visible")代替.show()

  • 在输入标记上将style="visibility: hidden;"替换为style="display: none"

答案 2 :(得分:0)

在调用调用该函数的脚本之前,您只需要在html中调用提到的.js文件。如果您需要更多信息,请提供您的HTML代码。