MVC RedirectToAction не отображает обновленный HTML-код в представлении

Вот обзор; У меня есть представление с таблицей данных, и при изменении параметров фильтра (флажков) я вызываю действие фильтра, проделайте некоторую работу, затем перенаправьте на действие основное действие, которое принимает мою информацию о фильтре. Выполняя отладку, я вижу ожидаемые данные, передаваемые через действия, и даже в представлении с создание html, однако html, ожидаемый с большим или меньшим количеством строк, не отображается - он остается таким же, как и отфильтрованный список по умолчанию.

Вот часть кода.

HTML с флажками:

<fieldset>
<legend style="color: #27568e;">Filter</legend>
    <table id="Filter">
        <thead>
        </thead>
        <tbody>
            <tr>
                <td>
                <input type="checkbox"  value="14" name="filterList" checked="checked"/>Type1
                <input type="checkbox"  value="15"name="filterList" checked="checked"/>Type2
                <input type="checkbox"  value="16" name="filterList" />Type3
                <input type="checkbox"  value="17"  name="filterList" />Type4
                <input type="button" value="Filter" id="Filterbutton" onclick="getFilterList('<%= Model.myId %>','filterList');" />
                </td>
            </tr>
        </tbody>
    </table>
 </fieldset>

Javascript / JQuery

<script type="text/javascript">

function getFilterList(id, checklist) 
   {
       var data = {};
       var resultString = new String;
       var selected = new Array();
       var loopCounter = 0;
       jQuery("input[name=" + checklist + "]:checked").each(function () {
           //selected[loopCounter] = jQuery(this).val();
           resultString += jQuery(this).val() + ",";
           loopCounter += 1;
       });
       resultString = resultString + id.toString();
       selected.push(id);

       jQuery.post("/MyContr/Filter/", { resultStr: resultString });

   };
</script>

Действие фильтра в контроллере - MyContr:

[AcceptVerbs(HttpVerbs.Post)]
    public RedirectToRouteResult Filter(String resultStr)
    {
        string strList = string.Empty;
        Stack<string> myStack = new Stack<string>( resultStr.Split(new string[] { "," }, StringSplitOptions.None));
        // Remove the id 
        var id = Convert.ToInt64(myStack.Pop());
       //convert rest of values (selected checkbox values) to string and pass to Review *was not able to pass array
       //build strList
        while (myStack.Count > 0)
        { 
            strList += myStack.Pop() +",";
        }

       if (strList != string.Empty)
           strList = strList.Remove(strList.Length - 1, 1); //remove last comma

        return RedirectToAction("Review", "myContr", new{id=id,filterList=strList});
    }

Действие проверки в контроллере - MyContr:

[AcceptVerbs(HttpVerbs.Get)] 
    public ActionResult Review(long id, string filterList)
    {

        string[] strArray = new string[]{}; 
        int[] filterArray;

        if (filterList == null)
        {
            filterArray = new int[] { 14, 15 };//default to specific types
        }
        else
        {  //if filterList is not null

            strArray = filterList.Split(new string[] { "," }, StringSplitOptions.None); //split string into array
            //convert str[] to int[]
            filterArray = new int[strArray.Length];
            for (int x = 0; x < strArray.Length; x++)
            {
                filterArray[x] = Convert.ToInt32(strArray[x].ToString());
            }

        }
        var myData = something.GetMyData(id);

        ViewData["checkboxes"] = filterArray;
        return View(myData);
    }

мое представление, которое выводит отфильтрованный список таблица в наборе полей, строки данных которой построены foreach (элемент в MyFilteredData)

* html в моем представлении содержится в блоке asp: Content без открывающих и закрывающих html-тегов

Страница загружается правильно в первый раз с фильтром по умолчанию, показывающим правильное количество строк в моем столе; Изменение флажков для добавления в отфильтрованный список не обновляет html должным образом; ОДНАКО, когда я отлаживаю и перехожу через код, правильные данные передаются через действия и обратно в представление; кажется, что он просто не отображает новый / обновленный html

Кто-нибудь знает, почему он не обновляет или не отображает обновленные отфильтрованные данные, хотя я могу пройти через них и увидеть чего я ожидаю?

1
задан Dustin Laine 22 October 2010 в 16:47
поделиться