如题,昨天,看到有人发贴,是关于用后台代码来完成前台页面内容的替换。但是,它是关于服务器控件的,即:标签内包含runat="server".我的问题是,如果标签内不包含runat="server",就是完全的客户端控件的话,如何来修改前台的数据啊。
我知道后台通过下面一行代码获得前台的数据:
  
  比如说:将 <form id="data_1" name="content1">您还未登录</form>  
                   后台通过 string username=Request.Form["content1"] 来获得数据
    如果更改为 <form id="data_1" name="content1">欢迎,某某来xx网</form>
                   前台通过何种方式获得后台代码????
现在正好做相关的东西,非常的急。希望有人能帮帮我。谢谢,在线等

解决方案 »

  1.   

    这个简单 用js来操作就可以了 
    后台写上<script>document.getElementByid().innerHtml=''</script>
      

  2.   


    说多了,反而让别人不好理解。其实,就是,如何用后台代码修改前台的客户端控件的数据。把<form id="data_1" name="content1">您还未登录</form> 改成<form id="data_1" name="content1">欢迎,某某来xx网</form>谢谢,上边的回答。。继续。
      

  3.   

    可以注册脚本
    前台<head runat="server">
        <title></title>
        <script language="javascript" type="text/javascript">
            window.onload = function() {
                if (!_username)
                    document.getElementById('txtUsername').value = "欢迎," + _username + "来到XX网";
            }
        </script>
    </head>
    <body>
        <form id="form1" runat="server" method="post" enctype="multipart/form-data">
        <div>
             <input type="text" id="txtUsername" />
        </div>
        </form>
    </body>
    后台protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                {
                    string username = "张三";                string script = "<script language='javascript'>var _username = \"" + username + "\";</script>";                this.RegisterClientScriptBlock("username", script);
                }
            }
      

  4.   


    Response.Write("<script language=javascript>document.getElementByid(data_1).innerHtml='hello'; </script>");可是没有替换成功。 难道是我的代码写错了。急,继续等
      

  5.   


    我使用session来判断用户是否登录的,所以,不想写更多的js文件。 感觉太复杂了。不过还是谢谢。最好能像二楼的方式。 目前,还不行。 继续等
      

  6.   

    楼主你的id没有打引号? 能否把不成功的错误说一下? 是不是没有找到对象另外这样执行
      ClientScript.RegisterStartupScript(this.GetType(), "", "<script>js脚本</script>", true);
      

  7.   


    打印好了,也没报错,使用alert方式,知道正常运行到这个语句,但是,就是对前台的数据没有起作用。我的代码是:
    前台:<div id="welcome" >欢迎您来XX网</div>后台:
    Response.Write("<script language=javascript>document.getElementById('welcome').innerHtml='hello world!!'; </script>");
    Response.Write("<script language=javascript>document.getElementById('welcome').innerText='hello world!'; </script>");这两种都测试了,都没报错。也没有任何变化。
      

  8.   


    Session["Username"] = "张三";
    this.RegisterStartupScript("username", "<script language=javascript>document.getElementById('form1').innerText = '欢迎," + Session["Username"].ToString() + "来XX网';</script>");
      

  9.   

    没有什么“完全的客户端控件”的概念。所有不能包装为其它服务器控件的东西,asp.net都会包装进LiteralControl控件里边去。你的这个所谓html字符串,也是一样。只不过你不明确地用一个容器包装它,你又何必要修改它呢?
      

  10.   

    你可以随便在页面上再放一个Button,执行时点一下这个Button让页面刷新,你的所谓“修改了之后”的那些还能维持吗?自己稍微测试一下吧。你做的页面因此会没有靠谱的“替换”功能,随便一个什么都不做、最简单的Button都能让你的程序乱掉啦!
      

  11.   

    this.RegisterStartupScript("username", "<script language=javascript>document.getElementById('form1').innerText = '欢迎," + Session["Username"].ToString() + "来XX网'刚才测试的是常量。没有问题。可以修改前台数据,这个方法不能加如变量,加入变量的话,就不行,前台数据没有变化,也不报错。快疯了。为什么?继续等。
      

  12.   

    如果不加 runat="server"的话,是HTML代码, 获取里面的数据我只知道用JS 获取 其他的不知道咯。
    <script language="javascript" type="text/javascript">
            window.onload = function() {
                if (!_username)
                    document.getElementById('txtUsername').value = "欢迎," + _username + "来到XX网";
            }
        </script>