解决模板页使用的情况下,在内容页中使用 document.getElementById找不到控件的方法
2008-05-08 11:59 Virus-BeautyCode 阅读(1803) 评论(2) 编辑 收藏 举报
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<script type="text/javascript">
function setValue()
{
alert("hello");
var label= document.all("<%=la_UserName.ClientID%>")
label.innerText="aa";
}
</script>
<div>
<asp:TextBox ID="txtUser" runat="server" MaxLength="11" onblur="setValue()" ></asp:TextBox>
<asp:Label ID="la_UserName" runat="server" Width="188px" Font-Size="Smaller"></asp:Label></div>
</asp:Content>
还有一个就是内容也访问控件的问题,在后台的c#中也访问不倒了,需要使用findcontrol方法,而且要先找到模板页的contentpalceholder,然后找到contentpalceholder中的内容页的控件,例如:
protected string getUserName()
{
ContentPlaceHolder mpContentPlaceHolder;
TextBox mpTextBox =new TextBox();
string username=string.Empty;
using (SqlConnection conn = new SqlConnection("server=.;uid=virus;pwd=;database=DevTest"))
{
conn.Open();

mpContentPlaceHolder =
(ContentPlaceHolder)(Master.FindControl("ContentPlaceHolder1"));
if (mpContentPlaceHolder != null)
{
mpTextBox =
(TextBox)(mpContentPlaceHolder.FindControl("txtUser"));
if (mpTextBox != null)
{
mpTextBox.Text = "1";
}
}

// Gets a reference to a Label control that not in
// a ContentPlaceHolder
//Label mpLabel = (Label)Master.FindControl("masterPageLabel");
//if (mpLabel != null)
//{
// Label1.Text = "Master page label = " + mpLabel.Text;
//}

int id = Convert.ToInt32(mpTextBox.Text);
//TextBox tb = this.Master.FindControl("ContentPlaceHolder1").FindControl("TextBox1") as TextBox;
SqlCommand comm = new SqlCommand("select username from users where userid=" + id);
comm.Connection = conn;
username = comm.ExecuteScalar().ToString();
}
return username;
}
<script type="text/javascript">
function setValue()
{
alert("hello");
var label= document.all("<%=la_UserName.ClientID%>")
label.innerText="aa";
}
</script>
<div>
<asp:TextBox ID="txtUser" runat="server" MaxLength="11" onblur="setValue()" ></asp:TextBox>
<asp:Label ID="la_UserName" runat="server" Width="188px" Font-Size="Smaller"></asp:Label></div>
</asp:Content>
还有一个就是内容也访问控件的问题,在后台的c#中也访问不倒了,需要使用findcontrol方法,而且要先找到模板页的contentpalceholder,然后找到contentpalceholder中的内容页的控件,例如:







































【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构