i am a beginner
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
}
when call PopupUserRegist(); does not change?
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
You’ve got confused about the flow of control with ASP.NET.
Page_Load() occurs on the server side at page generation time and can change the data that is about to be sent back in the HTML page to the browser.
When you call the ASPX again through ajax() from JavaScript, the codebehind can’t directly touch the page content, because that’s already sitting over on the browser. If you want to change the data in the page, you’ll have to have the ASPX return a plain value to the JavaScript code in the responseText:
$('#myDiv').text(
$.ajax({
url: 'Default.aspx?cmd=Setting',
async: false
}).responseText
);
or, better, avoiding the unpleasant use of synchronous xmlhttprequest:
$.get('Default.aspx?cmd=Setting', function(result) {
$('#myDiv').text(result);
});
If you really want to blur the line between code that runs on the client and server sides, look at using runat="server", click events, postbacks and viewstates.
Method 2
Check if the condition is met.
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0