我的网页中有以下文本框服务器控件:

<asp:TextBox ID="txtZip" runat="server" onchange="ZipCode_OnChange(this, <%= txtZip.ClientId %>, txtCity, txtState);/">

页面呈现时,将构建包括以下内容的页面:
<input name="txtZip" type="text" id="txtZip" onchange="ZipCode_OnChange(this, &lt;%= txtZip.ClientId %>, txtCity, txtState);" />

我正在尝试将文本框的客户端ID作为第二个参数传递给此Javascript函数:
function ZipCode_OnChange(txtZipCode, ClientId) {
    var ret;
    ret = WebService.GetCityAndState(txtZipCode.value, OnComplete1, OnError, ClientId);
}

如何在服务器上获取它,以评估texbox的控件并将该文字字符串传递给Javascript函数?

最佳答案

<%= txtZip.ClientId %>放在单引号之间,如下所示:

'<%= txtZip.ClientId %>'


<asp:TextBox ID="txtZip" runat="server" onchange="ZipCode_OnChange(this, '<%= txtZip.ClientId %>', txtCity, txtState);" />

更新

请检查这篇文章:http://www.jagregory.com/writings/how-to-use-clientids-in-javascript-without-the-ugliness/

我也喜欢this answer

10-08 01:08