[已解决问题] 怎么样获取母版页内的添写完TexBox的客户端源代码?
提问时间: 2008-04-16 11:46
浏览:309 次
怎么样获取母版页内的添写完TexBox的客户端源代码?
提问者:田志鹏 - 初学一级
所有回答(6)
说的好复杂的样子 但是我就是不知道你的意思是什么?
请说详细点 不要惜字如金啊
3个月前   回答者:yeyang - 菜鸟二级
使用Master.FindControl("TextBoxID")可以获取到母版页的控件,我猜你是要获取母版页中的用户 输入
3个月前   回答者:丁学 - 大侠五级
TextBoxID.ClientID
3个月前   回答者:chunfeng - 初学一级
如果是在后台的话用上述二位的方法均可以,如果是在前台获取TextBox的id的话,模板页里面的服务器控件的id都自动加上了一个特定的字符串以区分可能重复的服务端控件ID,可以右键查看源文件看到
3个月前   回答者:雨哲 - 初学一级
你好.你的问题我写了一点代码给你.希望对你的理解有帮助.有问题可以发信息给我.代码如下:
----Site.master----
    <form id="form1" runat="server">
    <div>
        <h1>Master Page Scope</h1>
        <asp:TextBox ID="tbFromMaster" 
                     runat="server" 
                     EnableViewState="false">
        </asp:TextBox>
        <button type="button" onclick="GetResult()">GO</button>
    </div>
    <hr />
    <div>
        <h1>Content Page Scope</h1>
        <asp:ContentPlaceHolder ID="ContentPlaceHolder1" 
                                runat="server" 
                                EnableViewState="false">
        </asp:ContentPlaceHolder>
    </div>
    </form>
----Default.aspx----
<asp:Content ID="Content1" 
             ContentPlaceHolderID="ContentPlaceHolder1" 
             Runat="Server">
    <span id="txtLabel"></span>
</asp:Content>
----Default.aspx.cs----
using System;
using System.Text;

public partial class _Default : System.Web.UI.Page{
    protected void Page_Load(object sender, EventArgs e){
        StringBuilder sb = new StringBuilder();
        sb.Append("function GetResult(){\n");
        sb.Append(String.Format("document.getElementById('txtLabel').innerHTML = document.getElementById('{0}').value;", this.Master.FindControl("tbFromMaster").ClientID));
        sb.Append("}\n");
        this.ClientScript.RegisterClientScriptBlock(this.GetType(), "demo", sb.ToString(), true);
    }
}

3个月前   回答者:Kenneth Byron - 小虾三级
不太明白你的意思.
如果要在客户端用的话,直接用document.getElementById("TextBoxID").value.不过要注意,这时侯的TextBoxID就不是服务器端定义的控件ID了(如果你使用了服务器控件的话).想看其在客户端真实的ID.可以先预览该页面,查看源代码你就会知道了。
如果是将内容拿来服务器端用的话.这里有两种方法:
一、使用在内容页使用this.Master.FindControl("TextBoxID")可以获取到母版页的控件(这里说的是服务器控件).
二、在母版里做属性,比如:
    public TextBox YourTextBox
      {
             get{  return yourTextBox }
       }
      然后在内容页可以使用this.Master.YourTextBox访问(这里是引用类型)。
方法一和方法二的最终目的一样。但两者主要存在性能上的差别。
方法一使用了后期绑定。效率自然底了。方法二使用了属性。直接访问实例的引用,比较好一点。
希望能对你有用。


2个月前   回答者:高_超 - 菜鸟二级
评论
3个月前   田志鹏 :
不是,我是要点击内容页中的一个按扭,获取内容页的源代码
3个月前   丁学 :
document.getElementById("content").innerHTML?
   您需要登录以后才能回答!
我的问题    我要提问


快到期问题

> 问题排行榜

有不合适内容,建议去除