Кроме того, у моего Индекса уже есть обратный просмотр, так как мне передать в него сообщение? Я показал мой метод индекса в моем исходном вопросе. Благодарю.

ример метода, который у меня есть, который удаляет запись из моего приложения:

[Authorize(Roles = "news-admin")]
public ActionResult Delete(int id)
{
    var ArticleToDelete = (from a in _db.ArticleSet where a.storyId == id select a).FirstOrDefault();
    _db.DeleteObject(ArticleToDelete);
    _db.SaveChanges();

    return RedirectToAction("Index");
}

Что я хотел бы сделать, это показать сообщение в представлении индекса, которое говорит что-то вроде: «Lorem ipsum article был удален», как бы я это сделал? Спасибо

Вот мой текущий метод индекса, на всякий случай:

    // INDEX
    [HandleError]
    public ActionResult Index(string query, int? page)
    {
        // build the query
        var ArticleQuery = from a in _db.ArticleSet select a;
        // check if their is a query
        if (!string.IsNullOrEmpty(query))
        {
            ArticleQuery = ArticleQuery.Where(a => a.headline.Contains(query));
            //msp 2011-01-13 You need to send the query string to the View using ViewData
            ViewData["query"] = query;
        }
        // orders the articles by newest first
        var OrderedArticles = ArticleQuery.OrderByDescending(a => a.posted);
        // takes the ordered articles and paginates them using the PaginatedList class with 4 per page
        var PaginatedArticles = new PaginatedList<Article>(OrderedArticles, page ?? 0, 4);
        // return the paginated articles to the view
        return View(PaginatedArticles);
    }
 Carrie Kendall23 июн. 2014 г., 17:12
Я создал пакет nuget, который помогает отправлять сообщения (об ошибках, предупреждениях, информации и успехах) с контроллера, чтобы посмотреть, готов ли Bootstrap:nuget.org/packages/BootstrapNotifications

Ответы на вопрос(1)

Решение Вопроса

[Authorize(Roles = "news-admin")]
public ActionResult Delete(int id)
{
    var ArticleToDelete = (from a in _db.ArticleSet where a.storyId == id select a).FirstOrDefault();
    _db.DeleteObject(ArticleToDelete);
    _db.SaveChanges();
    TempData["message"] = ""Lorem ipsum article has been deleted";
    return RedirectToAction("Index");
}

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

public ActionResult Index()
{
    var message = TempData["message"];
    // TODO: do something with the message like pass to the view
}

ОБНОВИТЬ:

Пример:

public class MyViewModel
{
    public string Message { get; set; }
}

а потом:

public ActionResult Index()
{
    var model = new MyViewModel
    {
        Message = TempData["message"] as string;
    };
    return View(model);
}

и внутри строго типизированного представления:

<div><%: Model.Message %></div>
 Cameron13 янв. 2011 г., 20:44
Куда это идет? Внутри моего контроллера?public class MyViewModel { public string Message { get; set; } }
 Cameron13 янв. 2011 г., 20:38
Я не совсем понимаю ViewModel и строго набираю его. Не могли бы вы показать пример в коде выше? Благодарю.
 Cameron13 янв. 2011 г., 20:53
Кроме того, у моего Индекса уже есть обратный просмотр, так как мне передать в него сообщение? Я показал мой метод индекса в моем исходном вопросе. Благодарю.
 Darin Dimitrov13 янв. 2011 г., 20:32
Вы определяете ViewModel со строковым свойством, которое будет назначено этому сообщению. Затем вы строго вводите свой вид для этой модели вида, а внутри вида вы просто используете<%: Model.Message %>, Или вы делаете что-то очень уродливое внутри действия контроллераViewData["message"] = message; и внутри вида:<%: ViewData["message"] %> (Я повторяю, это ужасно, и я не рекомендую это, ViewData просто отстой).
 Cameron13 янв. 2011 г., 20:29
Хорошо звучит интересно. 1.) Как мне передать его в представление. 2.) Как мне тогда показать это в представлении. Спасибо :)

Ваш ответ на вопрос