我有一个包含 2 个用户控件的 aspx 页面
UC1:编辑页面 - 这有用于编辑或数据输入的字段。
UC2:通知页面 - 这有一个带有 jquery 功能的简单消息框
在我的 aspx 中,我有这个功能:
public void ShowMessage(string status, string message)
{
Notification1.Message = message; //this is my user control UC2
Notification1.Status = status;
Notification1.DataBind();
}
现在,当我的 aspx 页面需要显示一条消息时,这可以正常工作,但是当我希望用户控件 1 显示类似(无效字段或错误数量)之类的消息时,它什么也不做。现在它被调用了,但 jquery 只是没有对它做出反应。
在 UC2 -notification 用户控件中,这就是我所拥有的:
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.4.js"></script>
<script type="text/javascript">
function showMsg(classname) {
$("#MsgBox").attr('class', classname);
$("#MsgBox").show().delay(5000).fadeOut();
}
</script>
<div id="MsgBox" class="info"><asp:Label ID="lblMessage" runat="server" /></div>
代码隐藏
public string Status{ get; set; }
public string Message { get; set; }
public override void DataBind()
{
if (Message != string.Empty)
{
lblMessage.Text = Message;
Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", "showMsg('" + Status + "');", true);
}
}
这就是我将函数从用户控件调用到 aspx 页面的方式:
((myaspxpage)this.Page).ShowMessage("error", "This is my error message.");
任何帮助都感激不尽!如果需要更多详细信息,请告诉我.. 提前致谢。
**编辑:我尝试将 jquery 和消息框放在我的编辑页面中,看看它是否会以这种方式工作,但事实并非如此 所以看来 jquery 在用户控件中无法正常工作?