编辑内部html div

时间:2011-03-12 19:15:22

标签: asp.net html

我是初学者

function PopupUserRegist() {


        result = $.ajax({ url: "Default.aspx?cmd=Setting",
            async: false ,
            complete: function () {
                // unblock when remote call returns 

            }
        }).responseText; ;

   }
protected void Page_Load(object sender, EventArgs e)
    {
        if (Request["cmd"] == "Setting")
        {
              div.InnerText = "test"; //This  does not change inner text 
        }
    }
    protected void Button2_Click(object sender, EventArgs e)
    {
        div.InnerText = "test";//This   change inner text
    }

调用PopupUserRegist()时;不会改变?

2 个答案:

答案 0 :(得分:2)

你对使用ASP.NET的控制流感到困惑。

页面生成时服务器端出现

Page_Load(),可以将HTML页面中即将发回的数据更改为浏览器。

当您通过JavaScript从ajax()再次调用ASPX时,代码隐藏不能直接触及页面内容,因为它已经位于浏览器上。如果要更改页面中的数据,则必须让ASPX为responseText中的JavaScript代码返回一个普通值:

$('#myDiv').text(
    $.ajax({
        url: 'Default.aspx?cmd=Setting',
        async: false
    }).responseText
);

或者更好的是,避免令人不快地使用同步xmlhttprequest:

$.get('Default.aspx?cmd=Setting', function(result) {
    $('#myDiv').text(result);
});

如果您真的想模糊在客户端和服务器端运行的代码之间的界限,请查看使用runat="server",单击事件,回发和查看状态。

答案 1 :(得分:1)

检查是否符合条件。