загрузить страницу asp.net из JavaScript - PullRequest
0 голосов
/ 06 октября 2011

У меня есть проект asp.net.

На одной из страниц у меня есть таблица, которая заполняется при загрузке страницы, у каждой строки есть кнопка удаления, при нажатии на которую она удаляет эту строку изсервер и обновляет страницу.я делаю это с

WebMethod

, что javascript при обратном вызове перенаправляет на эту страницу, используя:

window.location.href = "HomePage.aspx";

Проблема в том, что ондействительно не загружает страницу снова, но просто обновляет ее, таким образом таблица, отображаемая на странице, все еще имеет строку, которая была удалена, даже если она действительно была удалена.

Я заполняю таблицу в HomePage.aspxстраница как это:

<table id="pipesTbl">
            <thead>
                <tr>
                    <th>Name</th>
                    <th>Current Status</th>
                    <th>Last run summary</th>
                    <th>&nbsp;</th>
                    <th>&nbsp;</th>
                </tr>
            </thead>
            <tbody>
            <%
                foreach (var name in Names)
               {%>
               <tr>
                    <td><% Response.Write(name.age);%><br /</td>
                    <td><% Response.Write(name.age);%><br />2 hours and 22 minutes...</td>
                    <td>Good<br />01/07/2011</td>

                </tr>                     
                <%}  %>
            </tbody>
        </table>

Есть идеи, что я могу сделать, чтобы сделать эту работу?

1 Ответ

1 голос
/ 06 октября 2011

Я думаю, что это может работать

location.reload(true);  

Это то, что написано в документации

reload (forceget) Перезагрузить документ с текущего URL.forceget - логическое значение, которое, когда оно истинно, всегда перезагружает страницу с сервера.Если оно ложно или не указано, браузер может перезагрузить страницу из своего кэша.

РЕДАКТИРОВАТЬ (комментарий, который содержал решение): Если вы находитесь в проекте asp.net webforms, укажите это при загрузке страницы.Если вы находитесь в проекте MVC, я думаю, что он должен быть в контроллере (не уверен)

c # версия (для vb.net см. Комментарии):

 Random rd = new Random();
 Response.AddHeader("ETag", rd.Next(1111111, 9999999).toString());
 Response.AddHeader("Pragma", "no-cache");
 Response.CacheControl = "no-cache";
 Response.Cache.SetNoStore();
 Response.Expires = -1; 
...