Модальное приглашение Jquery перед импортом в Excel (с использованием MVC 3)? - PullRequest
1 голос
/ 06 декабря 2011

В настоящее время у меня есть ссылка на странице веб-сетки mvc, когда вы щелкаете мышью, вы переходите к представлению, которое отображает результаты в формате Excel. Но я хочу дать пользователям еще один вариант, чтобы включить больше деталей. Итак, я хочу добавить модальное приглашение с двумя переключателями «Экспортировать результаты» (что отображается сейчас) и «Экспортировать результаты с данными об участниках» перед переходом к представлению, передающему «ReportId» (1 или 2). Вот мой код. Мое представление изменится с MemberstoExcel () на MemberstoExcel (ReportId) при вводе пользователем?

Ссылка в поиске:

 {@Html.ActionLink("Export Results", "MembersToExcel")}

Код в контроллере:

public ActionResult MemberstoExcel()
    {
        var db= new Models.MemberDB();
        Spreadsheet mySpreadsheet = new Spreadsheet();

        MemberSearch member = new MemberSearch();

        var contents =  TempData["searchResults"];
        IDictionary<string, string> searchConditions = new Dictionary<string, string>();

        if (TempData["SearchConditions"] != null)
        {
            searchConditions = TempData["SearchConditions"] as Dictionary<string, string>;
        }

        this.TempData["SearchConditions"] = searchConditions;

         ..... code removed for readability......

        var results = db.GetMembers(member);
        mySpreadsheet.contents = results;
        mySpreadsheet.fileName = "MemberResults.xls";
        return View(mySpreadsheet);
    }

Код в формате Excel:

 <ss:Worksheet ss:Name="Sheet1">
    <ss:Table>
    @foreach (var content in Model.contents)
    {
        <ss:Row>

            <ss:Cell>
                <ss:Data ss:Type="String">@content.fullname</ss:Data>
            </ss:Cell>
            <ss:Cell>
                <ss:Data ss:Type="String">@content.email</ss:Data>
            </ss:Cell>
            <ss:Cell>
                <ss:Data ss:Type="String">@content.companyname</ss:Data>
            </ss:Cell>
            <ss:Cell>
                <ss:Data ss:Type="String">@content.regDate</ss:Data>
            </ss:Cell>
            <ss:Cell>
                <ss:Data ss:Type="String">@content.country</ss:Data>
            </ss:Cell>
            <ss:Cell>
                <ss:Data ss:Type="String">@content.modifiedDate</ss:Data>
            </ss:Cell>
            <ss:Cell>
                <ss:Data ss:Type="String">@content.ciscontactid</ss:Data>
            </ss:Cell>
        </ss:Row>
    }
    </ss:Table>
</ss:Worksheet>

1 Ответ

2 голосов
/ 06 декабря 2011

Когда вы говорите «модальное приглашение» в контексте веб-приложения, я всегда обращаю внимание на javascript, в частности на jQuery.Существует множество плагинов jQuery для модальных приглашений с открытым исходным кодом.Было бы тривиально передать условное значение строки запроса в зависимости от выбора пользователя во всплывающем окне, что позволит им изменить вывод.

Вот учебник по модальному всплывающему окну с jQuery: http://www.queness.com/post/77/simple-jquery-modal-window-tutorial

...