开发者

Button click method runs after page loads, which means page doesn't update, how can I solve this?

开发者 https://www.devze.com 2023-01-20 23:21 出处:网络
I have a button, which updates a value in the database. This value is used to determine what to draw on the page. Because of the page lifecycle though, the page redraws before the button click method

I have a button, which updates a value in the database. This value is used to determine what to draw on the page. Because of the page lifecycle though, the page redraws before the button click method is executed, meaning that any changes are not reflected until the page is reloaded again.

What's the best solution for this?

To clarify:

Page has a piece of text, that says "I like cats" if th开发者_StackOverflow中文版e database value is 1

button 'I hate cats' is pressed, which sets the database value to 0

the page reloads, but still says "I like cats"

the button click event is handled, and database value becomes 0

If the page is refreshed/reloaded, it now correctly says "I hate cats"

It should update when the button is clicked though.


you can use the page prerender event. this fire after the control event in the page lifecycle.


You can solve your problem by below code, use this end of button_click block

for ASPX:(C#)

Response.Redirect(HttpContext.Current.Request.Path);


Where are you querying the database? One easy option would just be to use Response.Redirect back to the page.

I think you could just get the result from the button method and just update a label/literal.


One possible solution is to execute a javascript function that updates the database (using ajax) when the OnClientClick event for the button is raised. In this case, when the page reaches the Page_Load event you will be able to render the appropriate content, as the postback happens after the script is executed. It should work fine if the database update takes a relatively small amount of time.


One curiosity, are using any anything like Page.IsPostBack { do something }.. If so, could you check if your update UI code is outside this check.

0

精彩评论

暂无评论...
验证码 换一张
取 消