Javascript asp.net c#multi objet传递给Js代码文件

时间:2013-02-22 04:37:51

标签: c# javascript asp.net

我在html页面上有代码,它正在运行:

document.getElementById('<%=IdOstan.ClientID %>').options.length = 0;

它是一个功能的一部分。找到对象并运行代码。 但是,如果我将代码移动到单独的js文件,则使用以下命令调用该文件:

<script src="../../../../Script/AjaxCall.js" type="text/javascript"></script>

然后找不到对象。我的结论是,同一文件上的Object可以通过调用document.getElementById找到,但是传递给Js的对象并不正确,看起来很正常。 我试图在调用JS函数时传递对象:

<asp:DropDownList ID="IdLand" runat="server" onchange="UpdateOstan(this);" 
     DataTextField="NameLand" DataValueField="IdLand" ViewStateMode="Enabled" 
     AutoPostBack="false">
</asp:DropDownList>

它也有效。但我也尝试传递第二个对象:

onchange="UpdateOstan(this, IdsecondObj);"

失败了,也是这个

onchange="UpdateOstan(this, document.getElementById('IdSecondObject'));"

不工作。 所以请求我知道如何将html对象传递给不在同一页面上的Javascript。 我根本不想将jQuery文件用作帮助程序。 感谢

1 个答案:

答案 0 :(得分:0)

使用隐藏输入来存储IdOStan.ClientID的ID值,并从外部javascript获取id name的值,然后就可以访问该对象。

<input id="MyHidden" value="<%=IdOstan.ClientID %>" />

在外部JS文件中。

var id = document.getElementById('MyHidden').value;
var IdOstan = document.getElementById(id);

现在,IdOstan是您正在寻找的对象。