【发布时间】:2011-11-18 12:02:52
【问题描述】:
我有一个名为 MyControl 的用户控件。
并且在页面中使用了 3 次。所以,页面上有 3 个控件。
我在那个使用 ServerControl 的控件中编写了 jquery 函数,例如
function MyFunction(myName) {
//some Ajax Call
$("#<%= MyTextBox1.ClientID").val(DataFromAjax);
}
问题是页面有 3 个 JQuery 函数“MyFunction”并且很混乱。如果我在页面上仅使用 1 个控件,我的代码将成功运行。但是如果超过一个,功能就会和其他的发生冲突。
我无法将函数从用户控件移动到页面,因为它引用了控件中的一些服务器端控件。
你能告诉我吗?谢谢大家。
这是我的 JQuery 函数。
function GetData(ADUser) {
$.ajax({
url: "/Health/Health.asmx/GetPersonData",
data: "{ 'samAccount': '" + ADUser + "' }",
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
success: function (data) {
var user = data.d;
if (user != null) {
$("#cphContent_PersonalDetail1_txtFirstName").val(user.FirstName);
$("#cphContent_PersonalDetail1_txtLastName").val(user.LastName);
$("#cphContent_PersonalDetail1_txtTelephone").val(user.Telephone);
$("#cphContent_PersonalDetail1_txtEmail").val(user.Email);
}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
}
});
}
这就是我将它绑定到超链接控件的方式。
if (!IsPostBack)
{
hlFill.Attributes.Add("onclick", string.Format("GetData('{0}'); return false;", GlobalSettings.UserADAccount));
}
【问题讨论】:
-
你是怎么调用函数的?
-
您能否发布您的 3 个控件正在输出的 HTML。从它的声音来看,每个控件都有相同的 ID,这就是你遇到这个问题的原因。
标签: javascript jquery asp.net user-controls